<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>tc-lib-pdf (TCPDF) on TCPDF</title><link>https://tcpdf.org/</link><description>Recent content in tc-lib-pdf (TCPDF) on TCPDF</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Mon, 02 Nov 2026 17:09:42 +0000</lastBuildDate><atom:link href="https://tcpdf.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Colour Notations</title><link>https://tcpdf.org/projects/tc-lib-color/notations/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/notations/</guid><description>&lt;p&gt;&lt;code&gt;getColorObj()&lt;/code&gt; turns a string into a colour model object. It accepts hexadecimal codes, &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; colour names, seven colour functions and the Acrobat JavaScript array forms. The notation selects the model: &lt;code&gt;rgb()&lt;/code&gt; returns an &lt;code&gt;Rgb&lt;/code&gt;, &lt;code&gt;lab()&lt;/code&gt; returns a &lt;code&gt;Lab&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;An unrecognised string raises &lt;code&gt;\Com\Tecnick\Color\Exception&lt;/code&gt;. &lt;code&gt;tryGetColorObj()&lt;/code&gt; runs the same parser and returns &lt;code&gt;null&lt;/code&gt; instead of raising.&lt;/p&gt;&#10;&lt;h2 id="hexadecimal"&gt;Hexadecimal&lt;/h2&gt;&#10;&lt;p&gt;Three, four, six or eight digits, with or without the leading &lt;code&gt;#&lt;/code&gt;. Three and four digit forms expand by doubling each digit, and the fourth pair is alpha.&lt;/p&gt;</description></item><item><title>Rendering Options</title><link>https://tcpdf.org/projects/tc-lib-barcode/rendering/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/rendering/</guid><description>&lt;p&gt;&lt;code&gt;getBarcodeObj()&lt;/code&gt; takes the same six arguments for all 73 symbologies. This page covers them once; the per-type pages give the payload rules and leave the geometry here.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="width-and-height"&gt;Width and Height&lt;/h2&gt;&#10;&lt;p&gt;The sign decides the unit.&lt;/p&gt;&#10;&lt;p&gt;A positive value is a total measurement in user units, and the symbol is scaled to fit it. This is the form to use when the space on the label is fixed:&lt;/p&gt;</description></item><item><title>Colour Models</title><link>https://tcpdf.org/projects/tc-lib-color/models/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/models/</guid><description>&lt;p&gt;A parsed colour is an object of one of five classes. All five extend &lt;code&gt;\Com\Tecnick\Color\Model&lt;/code&gt; and implement &lt;code&gt;\Com\Tecnick\Color\Model\Template&lt;/code&gt;, so any of them exposes the same set of methods.&lt;/p&gt;&#10;&lt;p&gt;Below, each model holds &lt;code&gt;#336699&lt;/code&gt;.&lt;/p&gt;&#10;&lt;!-- generated: model-comparison --&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Model&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Enum case&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;code&gt;getCssColor()&lt;/code&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;code&gt;getPdfColor()&lt;/code&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;code&gt;getJsPdfColor()&lt;/code&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/gray/"&gt;GRAY&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Gray&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;g(95)&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0.371920 g&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;G&amp;quot;,0.371920]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/rgb/"&gt;RGB&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Rgb&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;rgb(51,102,153)&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0.200000 0.400000 0.600000 rg&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;RGB&amp;quot;,0.200000,0.400000,0.600000]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/hsl/"&gt;HSL&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Hsl&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;hsl(210,50%,40%)&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0.200000 0.400000 0.600000 rg&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;RGB&amp;quot;,0.200000,0.400000,0.600000]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/cmyk/"&gt;CMYK&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Cmyk&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;cmyk(66.6667%,33.3333%,0%,40%)&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0.666667 0.333333 0.000000 0.400000 k&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;CMYK&amp;quot;,0.666667,0.333333,0.000000,0.400000]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/lab/"&gt;LAB&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Lab&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;lab(42.0081% -0.1517 -32.846)&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0.200000 0.400000 0.600000 rg&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;RGB&amp;quot;,0.200000,0.400000,0.600000]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;!-- /generated --&gt;&#10;&lt;p&gt;&lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; defines device colour spaces for grayscale, RGB and CMYK. HSL and Lab convert to DeviceRGB on output, so three rows of that table repeat.&lt;/p&gt;</description></item><item><title>Output Formats</title><link>https://tcpdf.org/projects/tc-lib-barcode/output-formats/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/output-formats/</guid><description>&lt;p&gt;Encoding and rendering are separate steps. &lt;code&gt;getBarcodeObj()&lt;/code&gt; returns an object holding the encoded grid, and the methods below turn that grid into whatever the target needs. Every one of them works for all 73 symbologies.&lt;/p&gt;&#10;&lt;p&gt;One object is built here and reused by every example on the page:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QRCODE,H&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://tcpdf.org&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/output-qrcode.svg" alt="QR Code encoding https://tcpdf.org" width="132" height="132" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Conversions</title><link>https://tcpdf.org/projects/tc-lib-color/conversions/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/conversions/</guid><description>&lt;p&gt;Every model implements all five &lt;code&gt;to*Array()&lt;/code&gt; methods, so any colour reaches any model in one call. The array that comes back is the component array the target constructor takes.&lt;/p&gt;&#10;&lt;!-- generated: example-conversions-chain --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; Com\Tecnick\Color\Model;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Web())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorObj(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#336699&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; Model&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;create(&lt;span style="color:#a5d6ff"&gt;&amp;#39;GRAY&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toGrayArray())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; Model&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;create(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HSL&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toHslArray())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; Model&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;create(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CMYK&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toCmykArray())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; Model&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;create(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LAB&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toLabArray())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;g(95)&#10;hsl(210,50%,40%)&#10;cmyk(66.6667%,33.3333%,0%,40%)&#10;lab(42.0081% -0.1517 -32.846)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;h2 id="the-matrix"&gt;The Matrix&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;#336699&lt;/code&gt; expressed in each model, converted to each of the others:&lt;/p&gt;</description></item><item><title>Linear Barcodes</title><link>https://tcpdf.org/projects/tc-lib-barcode/linear/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/linear/</guid><description>&lt;p&gt;One-dimensional symbologies, from the retail EAN and UPC family through CODE 39 and CODE 128 to the GS1 DataBar set. Each page gives the accepted input, a worked example and the symbol it produces.&lt;/p&gt;&#10;&lt;h2 id="49-formats"&gt;49 Formats&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type token&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39/"&gt;CODE 39&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39-plus/"&gt;CODE 39 with check character&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 39 + CHECKSUM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39e/"&gt;CODE 39 Extended&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39E&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 39 EXTENDED&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39e-plus/"&gt;CODE 39 Extended with check character&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39E+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 39 EXTENDED + CHECKSUM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c32/"&gt;CODE 32 (Italian Pharmacode)&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C32&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 32 (Italian Pharmacode - IMH - Radix 32)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c49/"&gt;CODE 49&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C49&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 49 (ANSI/AIM BC6)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/pzn/"&gt;PZN (Pharmazentralnummer)&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PZN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PZN (Pharmazentralnummer - IFA coding system)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/logmars/"&gt;LOGMARS&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LOGMARS&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;LOGMARS (CODE 39 profile of MIL-STD-1189B)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c93/"&gt;CODE 93&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C93&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 93 - USS-93&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c128/"&gt;CODE 128&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 128&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c128a/"&gt;CODE 128 A&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128A&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 128 A&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c128b/"&gt;CODE 128 B&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128B&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 128 B&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c128c/"&gt;CODE 128 C&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 128 C&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c16k/"&gt;CODE 16K&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C16K&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 16K (stacked CODE 128)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/s25/"&gt;Standard 2 of 5&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard 2 of 5&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/s25-plus/"&gt;Standard 2 of 5 with check digit&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard 2 of 5 + CHECKSUM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/s25iata/"&gt;2 of 5 IATA&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25IATA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 of 5 IATA (Computer Identics 2 of 5)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/s25matrix/"&gt;2 of 5 Matrix&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25MATRIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 of 5 Matrix&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/s25datalogic/"&gt;2 of 5 Datalogic&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25DATALOGIC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 of 5 Datalogic (China Post Code)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/i25/"&gt;Interleaved 2 of 5&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;I25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Interleaved 2 of 5&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/i25-plus/"&gt;Interleaved 2 of 5 with check digit&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;I25+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Interleaved 2 of 5 + CHECKSUM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/itf14/"&gt;ITF-14&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ITF14&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ITF-14 (GTIN-14 - GS1 General Specifications)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/msi/"&gt;MSI&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MSI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MSI (Variation of Plessey code)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/msi-plus/"&gt;MSI with check digit&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MSI+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MSI + CHECKSUM (modulo 11)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/plessey/"&gt;Plessey&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PLESSEY&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Plessey Code&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/telepen/"&gt;Telepen&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;TELEPEN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Telepen (full ASCII)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/codabar/"&gt;Codabar&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;CODABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODABAR&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/code11/"&gt;CODE 11&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;CODE11&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CODE 11&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/pharma/"&gt;Pharmacode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PHARMA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PHARMACODE&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/pharma2t/"&gt;Pharmacode Two-Track&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PHARMA2T&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PHARMACODE TWO-TRACKS&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/lraw/"&gt;Linear Raw Mode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1D RAW MODE (comma-separated rows of 01 strings)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/ean13/"&gt;EAN-13&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN13&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;EAN 13&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/ean8/"&gt;EAN-8&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN8&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;EAN 8&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/ean2/"&gt;EAN 2-digit add-on&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;EAN 2-Digits UPC-Based Extension&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/ean5/"&gt;EAN 5-digit add-on&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN5&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;EAN 5-Digits UPC-Based Extension&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/upca/"&gt;UPC-A&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;UPCA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;UPC-A&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/upce/"&gt;UPC-E&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;UPCE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;UPC-E&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/gs1128/"&gt;GS1-128&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;GS1128&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1-128 (CODE 128 with GS1 Application Identifiers)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/sscc18/"&gt;SSCC-18&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;SSCC18&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SSCC-18 (GS1-128 with the Application Identifier 00)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/gs114/"&gt;GS1-14&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;GS114&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1-14 - EAN-14 - SCC-14 (GS1-128 with the Application Identifier 01)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databar/"&gt;GS1 DataBar Omnidirectional&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Omnidirectional (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databartrunc/"&gt;GS1 DataBar Truncated&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARTRUNC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Truncated (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databarstack/"&gt;GS1 DataBar Stacked&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Stacked (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databarstackomni/"&gt;GS1 DataBar Stacked Omnidirectional&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARSTACKOMNI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Stacked Omnidirectional (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databarlimited/"&gt;GS1 DataBar Limited&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARLIMITED&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Limited (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databarexp/"&gt;GS1 DataBar Expanded&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAREXP&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Expanded (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/databarexpstack/"&gt;GS1 DataBar Expanded Stacked&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAREXPSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 DataBar Expanded Stacked (ISO/IEC 24724)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hibc39/"&gt;HIBC in CODE 39&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBC39&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HIBC in CODE 39 (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hibc128/"&gt;HIBC in CODE 128&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBC128&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HIBC in CODE 128 (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See Also&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt; : the library overview.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/rendering/"&gt;Rendering Options&lt;/a&gt; : size, colour, padding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/output-formats/"&gt;Output Formats&lt;/a&gt; : every renderer.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>2D Barcodes</title><link>https://tcpdf.org/projects/tc-lib-barcode/2d/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/2d/</guid><description>&lt;p&gt;Two-dimensional symbologies, which carry more data in less space than a linear symbol and recover from damage through error correction. Each page gives the accepted input, the parameters that change the symbol, and a worked example of each variant.&lt;/p&gt;&#10;&lt;h2 id="13-formats"&gt;13 Formats&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type token&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/qrcode/"&gt;QR Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;QRCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;QR-CODE&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/microqr/"&gt;Micro QR Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MICROQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Micro QR Code (ISO/IEC 18004)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/datamatrix/"&gt;Datamatrix&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATAMATRIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DATAMATRIX (ISO/IEC 16022)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/dmre/"&gt;Data Matrix Rectangular Extension&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DMRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Data Matrix Rectangular Extension (ISO/IEC 21471)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/aztec/"&gt;Aztec Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;AZTEC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;AZTEC Code (ISO/IEC 24778:2008)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/aztecrune/"&gt;Aztec Rune&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;AZTECRUNE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;AZTEC Rune (ISO/IEC 24778:2008 Annex A)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/pdf417/"&gt;PDF417&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PDF417&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF417 (ISO/IEC 15438:2006)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/pdf417c/"&gt;Compact PDF417&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PDF417C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Compact PDF417 - truncated (ISO/IEC 15438:2006)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hanxin/"&gt;Han Xin Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HANXIN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Han Xin Code (GB/T 21049, ISO/IEC 20830)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hibcqr/"&gt;HIBC in QR Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HIBC in QR-CODE (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hibcdm/"&gt;HIBC in Datamatrix&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCDM&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HIBC in DATAMATRIX (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/hibcaz/"&gt;HIBC in Aztec Code&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCAZ&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HIBC in AZTEC Code (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/sraw/"&gt;Square Raw Mode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;SRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D RAW MODE (comma-separated rows of 01 strings)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See Also&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt; : the library overview.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/rendering/"&gt;Rendering Options&lt;/a&gt; : size, colour, padding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/output-formats/"&gt;Output Formats&lt;/a&gt; : every renderer.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Web Colours</title><link>https://tcpdf.org/projects/tc-lib-color/web-colors/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/web-colors/</guid><description>&lt;p&gt;&lt;code&gt;Web::WEBHEX&lt;/code&gt; maps 150 names to hex codes: the &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; Color Module Level 4 list, plus the two Acrobat JavaScript spellings &lt;code&gt;dkgray&lt;/code&gt; and &lt;code&gt;ltgray&lt;/code&gt;. Any of them can be used wherever a colour string is accepted, and the lookup is case-insensitive.&lt;/p&gt;&#10;&lt;h2 id="lookups"&gt;Lookups&lt;/h2&gt;&#10;&lt;!-- generated: example-web-lookup --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Web();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHexFromName(&lt;span style="color:#a5d6ff"&gt;&amp;#39;cornflowerblue&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getNameFromHex(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#6495ed&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;extractHexCode(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#369&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRgbObjFromName(&lt;span style="color:#a5d6ff"&gt;&amp;#39;cornflowerblue&amp;#39;&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;6495edff&#10;cornflowerblue&#10;336699ff&#10;rgb(100,149,237)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;p&gt;&lt;code&gt;extractHexCode()&lt;/code&gt; normalizes a hash: it lowercases, drops the &lt;code&gt;#&lt;/code&gt;, and expands the three and four digit forms. &lt;code&gt;getNameFromHex()&lt;/code&gt; is the reverse of &lt;code&gt;getHexFromName()&lt;/code&gt; and raises for a code that is not in the table. For the closest entry rather than an exact match, see &lt;a href="https://tcpdf.org/projects/tc-lib-color/nearest-color/"&gt;Nearest Colour&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Nearest Colour</title><link>https://tcpdf.org/projects/tc-lib-color/nearest-color/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/nearest-color/</guid><description>&lt;p&gt;Naming an arbitrary colour means finding the nearest entry in the &lt;a href="https://tcpdf.org/projects/tc-lib-color/web-colors/"&gt;web colour table&lt;/a&gt;. The library implements two distance measures, and they select a different name for close to half of the RGB cube.&lt;/p&gt;&#10;&lt;h2 id="the-two-answers"&gt;The Two Answers&lt;/h2&gt;&#10;&lt;!-- generated: example-nearest-strings --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Web();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getClosestWebColorFromString(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#9577a6&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getClosestWebColorByDeltaEFromString(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#9577a6&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;lightslategray&#10;plum&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;p&gt;Euclidean distance in &lt;abbr title="standard Red Green Blue colour space (IEC 61966-2-1)"&gt;sRGB&lt;/abbr&gt; places &lt;code&gt;#9577a6&lt;/code&gt; next to &lt;code&gt;lightslategray&lt;/code&gt;; &lt;abbr title="CIE 1976 colour difference formula"&gt;CIE76&lt;/abbr&gt; distance in &lt;abbr title="Commission Internationale de l&amp;#39;Éclairage"&gt;CIE&lt;/abbr&gt; Lab places it next to &lt;code&gt;plum&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Postal Barcodes</title><link>https://tcpdf.org/projects/tc-lib-barcode/postal/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/postal/</guid><description>&lt;p&gt;Height-modulated and four-state symbologies used by national postal operators. The numbers they carry are issued by the operator, so a symbol is only valid in its scheme once that number has been obtained.&lt;/p&gt;&#10;&lt;h2 id="11-formats"&gt;11 Formats&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type token&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/postnet/"&gt;POSTNET&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;POSTNET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;POSTNET&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/planet/"&gt;PLANET&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PLANET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PLANET&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/rms4cc/"&gt;RM4SCC&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;RMS4CC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;RMS4CC (Royal Mail 4-state Customer Bar Code)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/kix/"&gt;KIX&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;KIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;KIX (Klant index - Customer index)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/jppost/"&gt;Japan Post&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;JPPOST&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Japan Post Customer Barcode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/mailmark/"&gt;Royal Mail Mailmark&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MAILMARK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Royal Mail Mailmark 4-state barcode (types C and L)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/identcode/"&gt;Deutsche Post Identcode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;IDENTCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Deutsche Post Identcode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/leitcode/"&gt;Deutsche Post Leitcode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LEITCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Deutsche Post Leitcode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/auspost/"&gt;Australia Post 4-State&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;AUSPOST&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Australia Post 4-State Customer Barcode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/imb/"&gt;Intelligent Mail Barcode&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;IMB&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/imbpre/"&gt;Intelligent Mail Barcode, pre-processed&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;IMBPRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IMB - Intelligent Mail Barcode pre-processed&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See Also&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt; : the library overview.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/rendering/"&gt;Rendering Options&lt;/a&gt; : size, colour, padding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/output-formats/"&gt;Output Formats&lt;/a&gt; : every renderer.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Spot Colours</title><link>https://tcpdf.org/projects/tc-lib-color/spot-colors/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/spot-colors/</guid><description>&lt;p&gt;A spot colour is a named ink rather than a mixture of the process four. In a &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; it is a Separation colour space: a name, an alternate colour space for rendering without the ink, and a tint transform between the two.&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;\Com\Tecnick\Color\Spot&lt;/code&gt; is the registry. &lt;code&gt;\Com\Tecnick\Color\Pdf&lt;/code&gt; extends it, so one object provides the parser, the registry and the writers.&lt;/p&gt;&#10;&lt;h2 id="registering-one"&gt;Registering One&lt;/h2&gt;&#10;&lt;!-- generated: example-spot-register --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Pdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$key&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColorFromArray(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PANTONE 032 C&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.91&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.86&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$key&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSpotColorObj(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PANTONE 032 C&amp;#39;&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;encodeSpotColorName(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PANTONE 032 C&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;pantone032c&#10;cmyk(0%,91%,86%,0%)&#10;PANTONE#20032#20C&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;p&gt;&lt;code&gt;addSpotColor()&lt;/code&gt; takes a &lt;code&gt;Cmyk&lt;/code&gt; object where &lt;code&gt;addSpotColorFromArray()&lt;/code&gt; takes the components. Both return the registry key, which is what lookups match on: the name lowercased with every character outside &lt;code&gt;[a-z0-9]&lt;/code&gt; dropped, so &lt;code&gt;PANTONE 032 C&lt;/code&gt; keys as &lt;code&gt;pantone032c&lt;/code&gt;. The name is stored as given and escaped when written to the PDF, where it becomes &lt;code&gt;/PANTONE#20032#20C&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>PDF Output</title><link>https://tcpdf.org/projects/tc-lib-color/pdf-output/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/pdf-output/</guid><description>&lt;p&gt;&lt;code&gt;\Com\Tecnick\Color\Pdf&lt;/code&gt; turns a colour string into the operators a &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; content stream takes. It extends the spot registry, which extends the web parser, so the same object resolves a name, registers a separation and writes the operator.&lt;/p&gt;&#10;&lt;h2 id="fill-and-stroke"&gt;Fill And Stroke&lt;/h2&gt;&#10;&lt;!-- generated: example-pdf-operators --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Pdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfFillColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#336699&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfStrokeColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#336699&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfFillColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(67%,33%,0%,40%)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfFillColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;g(128)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;0.200000 0.400000 0.600000 rg&#10;0.200000 0.400000 0.600000 RG&#10;0.670000 0.330000 0.000000 0.400000 k&#10;0.501961 g&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;p&gt;The operator comes from the model, so the colour space follows the notation:&lt;/p&gt;</description></item><item><title>Errors</title><link>https://tcpdf.org/projects/tc-lib-color/errors/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/errors/</guid><description>&lt;p&gt;Two exception classes, split by the origin of the fault.&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Class&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Extends&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Signals&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Exception&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Exception&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;input the library cannot parse&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\UnknownComponentException&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\LogicException&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a component name no model defines&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Both implement &lt;code&gt;\Com\Tecnick\Color\ExceptionInterface&lt;/code&gt;, so one &lt;code&gt;catch&lt;/code&gt; covers them:&lt;/p&gt;&#10;&lt;!-- generated: example-errors-catch --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Web();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;#12&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;purple&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;]] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$input&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; is_array(&lt;span style="color:#79c0ff"&gt;$input&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Rgb(&lt;span style="color:#79c0ff"&gt;$input&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$web&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorObj(&lt;span style="color:#79c0ff"&gt;$input&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;catch&lt;/span&gt; (\Com\Tecnick\Color\ExceptionInterface &lt;span style="color:#79c0ff"&gt;$exc&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; get_class(&lt;span style="color:#79c0ff"&gt;$exc&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#39;: &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$exc&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Com\Tecnick\Color\Exception: unable to extract the color hash: #12&#10;Com\Tecnick\Color\UnknownComponentException: unknown color components: purple&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;p&gt;A colour string arriving from a stylesheet or a template can be wrong at runtime; a component name is written in the calling code, so a wrong one is a bug. The lenient accessors follow that split: &lt;code&gt;tryGetColorObj()&lt;/code&gt; and &lt;code&gt;getColorObject()&lt;/code&gt; catch &lt;code&gt;Exception&lt;/code&gt; and let &lt;code&gt;UnknownComponentException&lt;/code&gt; through.&lt;/p&gt;</description></item><item><title>2 of 5 Datalogic</title><link>https://tcpdf.org/projects/tc-lib-barcode/s25datalogic/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/s25datalogic/</guid><description>&lt;p&gt;Datalogic 2 of 5, also catalogued as China Post Code, differs from Standard 2 of 5 in its start and stop patterns and in nothing else.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25DATALOGIC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::S25DATALOGIC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\DatalogicTwoOfFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25DATALOGIC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/s25datalogic.svg" alt="2 of 5 Datalogic barcode encoding 0123456789" width="327" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>2 of 5 IATA</title><link>https://tcpdf.org/projects/tc-lib-barcode/s25iata/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/s25iata/</guid><description>&lt;p&gt;Also catalogued as Computer Identics 2 of 5. The data encoding is that of Standard 2 of 5; the start and stop patterns are different, which is what a scanner uses to tell the two apart.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25IATA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::S25IATA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\IataTwoOfFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25IATA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/s25iata.svg" alt="2 of 5 IATA barcode encoding 0123456789" width="447" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>2 of 5 Matrix</title><link>https://tcpdf.org/projects/tc-lib-barcode/s25matrix/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/s25matrix/</guid><description>&lt;p&gt;Matrix 2 of 5 carries data in the spaces as well as the bars, so the same digits fit into noticeably less width than Standard 2 of 5 needs.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25MATRIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::S25MATRIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\MatrixTwoOfFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25MATRIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/s25matrix.svg" alt="2 of 5 Matrix barcode encoding 0123456789" width="345" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Australia Post 4-State</title><link>https://tcpdf.org/projects/tc-lib-barcode/auspost/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/auspost/</guid><description>&lt;p&gt;A two-digit Format Control Code opens the payload and says what follows it: &lt;code&gt;11&lt;/code&gt; for a sorting code alone, &lt;code&gt;59&lt;/code&gt; and &lt;code&gt;62&lt;/code&gt; for a sorting code with customer information, &lt;code&gt;00&lt;/code&gt; for the reply paid form, which is only valid with a zero sorting code. Eight digits of sorting code come next, then the customer information the FCC allows.&lt;/p&gt;&#10;&lt;p&gt;Capacity is counted in bars. The N table spends 2 bars on a digit and the C table 3 on an alphanumeric character, so FCC 59 holds 8 digits or 5 characters, and FCC 62 holds 15 or 10.&lt;/p&gt;</description></item><item><title>Aztec Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/aztec/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/aztec/</guid><description>&lt;p&gt;Aztec puts its finder in the middle, a bullseye of concentric squares, and grows outward in layers. There is no quiet zone requirement, which is why transport operators print it on tickets and boarding passes where every millimetre is spoken for.&lt;/p&gt;&#10;&lt;p&gt;Error correction is a percentage, not a level. The library defaults to 33 per cent of the symbol and accepts anything from 1 to 100; the standard sets the floor at 23 per cent plus three codewords.&lt;/p&gt;</description></item><item><title>Aztec Rune</title><link>https://tcpdf.org/projects/tc-lib-barcode/aztecrune/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/aztecrune/</guid><description>&lt;p&gt;A Rune is an Aztec symbol stripped to its smallest useful form: 11 by 11 modules carrying one byte, a number from 0 to 255 and nothing else. Annex A of the Aztec standard defines it for marking objects that need an identifier and no more.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;AZTECRUNE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::AZTECRUNE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24778 Annex A&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\AztecRune&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits, read as one integer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a value from 0 to 255&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon error correction, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-value-in-the-middle-of-the-range"&gt;A value in the middle of the range&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AZTECRUNE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;125&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/aztecrune.svg" alt="Aztec Rune barcode encoding 125" width="44" height="44" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CIE Lab</title><link>https://tcpdf.org/projects/tc-lib-color/lab/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/lab/</guid><description>&lt;p&gt;Lightness on one axis and two opponent chroma axes, scaled so that equal numeric steps are approximately equal perceptual steps. Lab coordinates describe a colour independently of the device rendering it.&lt;/p&gt;&#10;&lt;p&gt;Two parts of the library use that: perceptual distance on &lt;a href="https://tcpdf.org/projects/tc-lib-color/nearest-color/"&gt;Nearest Colour&lt;/a&gt;, and the Lab alternate colour space of a &lt;a href="https://tcpdf.org/projects/tc-lib-color/spot-colors/"&gt;spot colour&lt;/a&gt; in a &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;.&lt;/p&gt;&#10;&lt;h2 id="model"&gt;Model&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type string&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LAB&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Lab&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Model\Lab&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF colour space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeviceRGB, by conversion&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;lab()&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="components"&gt;Components&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Component&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Key&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Out of range&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;L* (lightness)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;lstar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 100.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a* (green to red)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;astar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;-128.0 to 127.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;b* (blue to yellow)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;bstar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;-128.0 to 127.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Alpha&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;alpha&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0, default 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;These are the only components in the library that are not fractions in &lt;code&gt;[0..1]&lt;/code&gt;, and the only ones that go negative.&lt;/p&gt;</description></item><item><title>CMYK</title><link>https://tcpdf.org/projects/tc-lib-color/cmyk/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/cmyk/</guid><description>&lt;p&gt;Cyan, magenta, yellow and a black key, one component per process plate. This is the colour space a press sheet is specified in and the alternate space most spot colours fall back to. The conversion from RGB is exact arithmetic and round-trips at 8-bit precision.&lt;/p&gt;&#10;&lt;h2 id="model"&gt;Model&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type string&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;CMYK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Cmyk&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Model\Cmyk&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF colour space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeviceCMYK&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;cmyk()&lt;/code&gt;, &lt;code&gt;cmyka()&lt;/code&gt;, &lt;code&gt;[&amp;quot;CMYK&amp;quot;,c,m,y,k]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;code&gt;cmyk()&lt;/code&gt; and &lt;code&gt;cmyka()&lt;/code&gt; are notations of this library, not &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; functions.&lt;/p&gt;</description></item><item><title>Codabar</title><link>https://tcpdf.org/projects/tc-lib-barcode/codabar/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/codabar/</guid><description>&lt;p&gt;Codabar dates from 1972 and encodes digits and six punctuation marks, one character per four bars and three spaces.&lt;/p&gt;&#10;&lt;p&gt;Four letters, &lt;code&gt;A&lt;/code&gt; to &lt;code&gt;D&lt;/code&gt;, serve as the start and stop characters. The library brackets the payload with &lt;code&gt;A&lt;/code&gt; at both ends and rejects those four letters inside it, since a scanner reading one mid-symbol would take it for the end of the code.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;CODABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::CODABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USS-Codabar, ANSI/AIM BC3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Codabar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;$&lt;/code&gt;, &lt;code&gt;:&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt;, &lt;code&gt;.&lt;/code&gt;, &lt;code&gt;+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODABAR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/codabar.svg" alt="Codabar barcode encoding 0123456789" width="363" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 11</title><link>https://tcpdf.org/projects/tc-lib-barcode/code11/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/code11/</guid><description>&lt;p&gt;Eleven characters: the ten digits and the dash. &lt;code&gt;S&lt;/code&gt; is the start and the stop character. One check character is appended for payloads up to ten characters, two above that.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;CODE11&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::CODE11&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USD-8&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeOneOne&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;-&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;one check character, or two when the payload is longer than 10 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits-one-check-character"&gt;Ten digits, one check character&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE11&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/code11.svg" alt="CODE 11 barcode encoding 0123456789" width="300" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 128</title><link>https://tcpdf.org/projects/tc-lib-barcode/c128/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c128/</guid><description>&lt;p&gt;CODE 128 covers the full ASCII set across three subsets: A for control characters and upper case, B for the printable range including lower case, C for pairs of digits at one character per two. This type picks the subsets and the switches between them from the payload, which for numeric data means roughly half the width of CODE 39.&lt;/p&gt;&#10;&lt;p&gt;Where the subset has to be fixed, use &lt;code&gt;C128A&lt;/code&gt;, &lt;code&gt;C128B&lt;/code&gt; or &lt;code&gt;C128C&lt;/code&gt; instead.&lt;/p&gt;</description></item><item><title>CODE 128 A</title><link>https://tcpdf.org/projects/tc-lib-barcode/c128a/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c128a/</guid><description>&lt;p&gt;CODE 128 restricted to subset A: digits, upper case letters, punctuation and the ASCII control characters. No lower case. Fixing the subset keeps every symbol the same width per character, which matters when a label layout is fixed in advance.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128A&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C128A&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15417&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ASCII 0 to 95: space through &lt;code&gt;_&lt;/code&gt;, plus the control characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 103, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="digits-and-upper-case"&gt;Digits and upper case&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF-2026&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c128a.svg" alt="CODE 128 A barcode encoding TCPDF-2026" width="435" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 128 B</title><link>https://tcpdf.org/projects/tc-lib-barcode/c128b/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c128b/</guid><description>&lt;p&gt;CODE 128 restricted to subset B, the printable ASCII range from space to tilde. This is the subset that carries lower case, and the one to fix when the payload is free text.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128B&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C128B&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15417&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightB&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ASCII 32 to 126: space through &lt;code&gt;~&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 103, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="lower-case-text"&gt;Lower case text&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-barcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c128b.svg" alt="CODE 128 B barcode encoding tc-lib-barcode" width="567" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 128 C</title><link>https://tcpdf.org/projects/tc-lib-barcode/c128c/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c128c/</guid><description>&lt;p&gt;Subset C encodes two digits per symbol character, so a numeric payload comes out at half the width of the other subsets. The payload has to be digits, and it has to be an even number of them.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C128C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C128C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15417&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;an even number of digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 103, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits-in-five-symbol-characters"&gt;Ten digits in five symbol characters&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128C&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c128c.svg" alt="CODE 128 C barcode encoding 0123456789" width="270" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 16K</title><link>https://tcpdf.org/projects/tc-lib-barcode/c16k/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c16k/</guid><description>&lt;p&gt;CODE 16K stacks up to 16 rows of five CODE 128 characters, sharing one start pattern and one pair of check characters across the whole symbol. The row count follows from the payload length.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C16K&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C16K&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/AIM BC7, USS-16K&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeOneSixK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the 128 ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 to 16 rows of 5 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;two check characters, modulo 107, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="text-across-several-rows"&gt;Text across several rows&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C16K&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ab0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c16k.svg" alt="CODE 16K barcode encoding ab0123456789" width="210" height="57" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 32 (Italian Pharmacode)</title><link>https://tcpdf.org/projects/tc-lib-barcode/c32/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c32/</guid><description>&lt;p&gt;Every medicine sold in Italy carries a nine-digit AIC number. CODE 32 converts that number to six characters in radix 32 and draws them as a CODE 39 symbol, so the printed symbol is shorter than the number it represents. AIFA assigns the AIC number; the library encodes whatever it is given.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C32&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C32&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Italian Pharmacode, IMH, radix 32&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeThreeTwo&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8 digits, or 9 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 8 digits and verified when it is 9&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="an-aic-number"&gt;An AIC number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C32&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;012345676&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c32.svg" alt="CODE 32 (Italian Pharmacode) barcode encoding 012345676" width="381" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 39</title><link>https://tcpdf.org/projects/tc-lib-barcode/c39/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c39/</guid><description>&lt;p&gt;CODE 39 encodes digits, upper case letters and seven punctuation marks, one character per nine-element pattern of five bars and four spaces. Explicit start and stop characters delimit the symbol, so a scanner reads it without being told what to expect.&lt;/p&gt;&#10;&lt;p&gt;The format is wide. Ten characters occupy noticeably more space than the same ten in CODE 128, which is the usual reason for choosing something else.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C39&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI MH10.8M-1983, USD-3, also known as 3 of 9&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeThreeNine&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt;, &lt;code&gt;A-Z&lt;/code&gt;, space, &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;.&lt;/code&gt;, &lt;code&gt;$&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt;, &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;%&lt;/code&gt;. Lower case input is encoded as upper case.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none. Use &lt;code&gt;C39+&lt;/code&gt; for the modulo 43 check character&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="digits"&gt;Digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c39.svg" alt="CODE 39 barcode encoding 0123456789" width="573" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 39 Extended</title><link>https://tcpdf.org/projects/tc-lib-barcode/c39e/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c39e/</guid><description>&lt;p&gt;Plain CODE 39 reaches 43 characters. The extended form covers all 128 ASCII values by encoding anything outside those 43 as a pair, with &lt;code&gt;$&lt;/code&gt;, &lt;code&gt;%&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt; and &lt;code&gt;+&lt;/code&gt; acting as shift characters.&lt;/p&gt;&#10;&lt;p&gt;Lower case and control characters therefore cost two CODE 39 characters each, and a symbol carrying mixed-case text comes out close to twice the width of the same text in upper case.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39E&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C39E&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI MH10.8M-1983, USD-3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExt&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the 128 ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none. Use &lt;code&gt;C39E+&lt;/code&gt; for the modulo 43 check character&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="digits"&gt;Digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39E&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c39e.svg" alt="CODE 39 Extended barcode encoding 0123456789" width="573" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 39 Extended with check character</title><link>https://tcpdf.org/projects/tc-lib-barcode/c39e-plus/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c39e-plus/</guid><description>&lt;p&gt;Extended CODE 39 with the modulo 43 check character appended. The check is computed over the expanded character sequence, the one actually drawn, rather than over the input text.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39E+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C39EPlus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI MH10.8M-1983, USD-3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the 128 ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="mixed-case-with-the-check-character"&gt;Mixed case with the check character&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39E+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-barcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c39e-plus.svg" alt="CODE 39 Extended with check character barcode encoding tc-lib-barcode" width="1389" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 39 with check character</title><link>https://tcpdf.org/projects/tc-lib-barcode/c39-plus/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c39-plus/</guid><description>&lt;p&gt;CODE 39 with the modulo 43 check character computed over the payload and appended before encoding. Plain CODE 39 carries no check character at all, so this is the variant to use where the scanner cannot validate the data by any other means.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C39+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C39Plus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI MH10.8M-1983, USD-3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeThreeNineCheck&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;as &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39/"&gt;CODE 39&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="digits-with-the-check-character"&gt;Digits with the check character&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c39-plus.svg" alt="CODE 39 with check character barcode encoding 0123456789" width="621" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 49</title><link>https://tcpdf.org/projects/tc-lib-barcode/c49/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c49/</guid><description>&lt;p&gt;CODE 49 stacks two to eight rows of eight characters into a single symbol, which puts the full ASCII set into a footprint no single-row format can reach. It dates from 1987, before the matrix formats existed, and the library builds the row split and the check symbols for you.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C49&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C49&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/AIM BC6&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeFourNine&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the printable ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 to 8 rows of 8 characters, filled automatically&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;two or three check symbols, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="several-rows-of-text"&gt;Several rows of text&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C49&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MULTIPLE ROWS IN CODE 49&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c49.svg" alt="CODE 49 barcode encoding MULTIPLE ROWS IN CODE 49" width="210" height="138" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>CODE 93</title><link>https://tcpdf.org/projects/tc-lib-barcode/c93/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/c93/</guid><description>&lt;p&gt;CODE 93 was designed to replace CODE 39 where width mattered: nine modules per character against thirteen or more, two check characters instead of none, and the same full ASCII reach through shift pairs. Every character is drawn as three bars and three spaces, which also makes the symbol self-checking.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;C93&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::C93&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USS-93&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\CodeNineThree&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the 128 ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;two check characters, C and K, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="digits"&gt;Digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C93&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/c93.svg" alt="CODE 93 barcode encoding 0123456789" width="381" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Compact PDF417</title><link>https://tcpdf.org/projects/tc-lib-barcode/pdf417c/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/pdf417c/</guid><description>&lt;p&gt;Dropping the right row indicator and shortening the stop pattern takes about two codewords off every row. It is meant for clean printing on a controlled surface, where the redundancy it gives up was not going to be missed.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PDF417C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::PDF417C&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15438&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\PdfFourOneSevenCompact&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any byte sequence&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;as PDF417, in a narrower symbol&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon error correction at the chosen level&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;PDF417C,2,5&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Data Matrix Rectangular Extension</title><link>https://tcpdf.org/projects/tc-lib-barcode/dmre/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/dmre/</guid><description>&lt;p&gt;Standard Datamatrix offers six rectangular sizes. The rectangular extension adds a further set, from 8 by 48 up to 26 by 64, for marking surfaces that are long and thin: cables, pins, the edge of a circuit board. Leave the size parameter empty and the library picks the smallest that fits.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DMRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DMRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 21471&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\Dmre&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any byte sequence&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;up to 172 characters, depending on the symbol size&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon error correction, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DMRE,N,ASCII,8x144&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Datamatrix</title><link>https://tcpdf.org/projects/tc-lib-barcode/datamatrix/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/datamatrix/</guid><description>&lt;p&gt;Datamatrix is the matrix format of choice for marking small parts: the solid L-shaped finder and the alternating timing pattern along the other two edges give a reader the grid from a symbol only 10 modules square.&lt;/p&gt;&#10;&lt;p&gt;Six encoding schemes cover different payload shapes, from ASCII through the compacted C40, TXT and X12 sets to raw BASE256, and the encoder picks between them unless told otherwise. The GS1 variant prefixes the payload with FNC1 so the data reads as an element string.&lt;/p&gt;</description></item><item><title>Deutsche Post Identcode</title><link>https://tcpdf.org/projects/tc-lib-barcode/identcode/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/identcode/</guid><description>&lt;p&gt;Identcode identifies a consignment in the Deutsche Post network: two digits of primary distribution centre, three of customer number, six of consignment number, and a check digit. It is drawn as Interleaved 2 of 5.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;IDENTCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::IDENTCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Identcode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11 digits, or 12 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10 with weights 4 and 9, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-consignment-number"&gt;A consignment number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IDENTCODE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;56310243031&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/identcode.svg" alt="Deutsche Post Identcode barcode encoding 56310243031" width="276" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Deutsche Post Leitcode</title><link>https://tcpdf.org/projects/tc-lib-barcode/leitcode/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/leitcode/</guid><description>&lt;p&gt;Leitcode routes the item rather than identifying it: five digits of postcode, three of street, three of house number, two of product code, and a check digit. Same symbology as Identcode, two digits longer.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LEITCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::LEITCODE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Leitcode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10 with weights 4 and 9, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-routing-code"&gt;A routing code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LEITCODE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2134807501640&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/leitcode.svg" alt="Deutsche Post Leitcode barcode encoding 2134807501640" width="318" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>EAN 2-digit add-on</title><link>https://tcpdf.org/projects/tc-lib-barcode/ean2/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/ean2/</guid><description>&lt;p&gt;A two-digit supplement, printed to the right of an EAN or UPC symbol and used for the issue number of a magazine or a periodical. It has no meaning on its own, and this type draws it on its own; to attach it to a main symbol, append it to the payload after a &lt;code&gt;+&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::EAN2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\EanTwo&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 or 2 digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none; the parity pattern of the two digits carries the check&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="an-issue-number"&gt;An issue number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/ean2.svg" alt="EAN 2-digit add-on barcode encoding 12" width="60" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>EAN 5-digit add-on</title><link>https://tcpdf.org/projects/tc-lib-barcode/ean5/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/ean5/</guid><description>&lt;p&gt;Five digits printed to the right of an EAN or UPC symbol. On books the supplement carries the suggested retail price, with the first digit naming the currency.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN5&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::EAN5&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\EanFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 5 digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none; the parity pattern of the five digits carries the check&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-price-supplement"&gt;A price supplement&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;52250&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/ean5.svg" alt="EAN 5-digit add-on barcode encoding 52250" width="141" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>EAN-13</title><link>https://tcpdf.org/projects/tc-lib-barcode/ean13/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/ean13/</guid><description>&lt;p&gt;The thirteen-digit article number printed on retail packaging almost everywhere outside North America. The first digits are the GS1 company prefix, issued by a GS1 member organisation; the last is a modulo 10 check digit.&lt;/p&gt;&#10;&lt;p&gt;Give the library twelve digits and it computes the check. Give it thirteen and it verifies the one you supplied, rather than appending a second.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN13&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::EAN13&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15420, GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\EanOneThree&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits, plus &lt;code&gt;+&lt;/code&gt; to introduce an add-on&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;12 digits, or 13 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 12 digits and verified when it is 13&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="an-article-number"&gt;An article number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN13&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;9781234567897&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/ean13.svg" alt="EAN-13 barcode encoding 9781234567897" width="285" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>EAN-8</title><link>https://tcpdf.org/projects/tc-lib-barcode/ean8/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/ean8/</guid><description>&lt;p&gt;EAN-8 exists for packages with no room for the full thirteen digits. The number is allocated separately rather than derived from the EAN-13 of the same product, so the two are unrelated. Unlike EAN-13 and the UPC pair, EAN-8 takes no add-on symbol.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;EAN8&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::EAN8&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15420, GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\EanEight&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;7 digits, or 8 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 7 digits and verified when it is 8&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-short-article-number"&gt;A short article number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN8&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1234567&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/ean8.svg" alt="EAN-8 barcode encoding 1234567" width="201" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Grayscale</title><link>https://tcpdf.org/projects/tc-lib-color/gray/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/gray/</guid><description>&lt;p&gt;The grayscale model holds one component, 0.0 for black to 1.0 for white. DeviceGray takes a single operand per colour operator, so a monochrome document written in it is smaller than the same document in DeviceRGB.&lt;/p&gt;&#10;&lt;h2 id="model"&gt;Model&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type string&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;GRAY&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Gray&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Model\Gray&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF colour space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeviceGray&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;g(128)&lt;/code&gt;, &lt;code&gt;g(50%)&lt;/code&gt;, &lt;code&gt;[&amp;quot;G&amp;quot;,0.5]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;code&gt;g()&lt;/code&gt; is a notation of this library, not a &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; function. &lt;code&gt;getCssColor()&lt;/code&gt; emits it and &lt;code&gt;getColorObj()&lt;/code&gt; reads it back. A browser does not parse it.&lt;/p&gt;</description></item><item><title>GS1 DataBar Expanded</title><link>https://tcpdf.org/projects/tc-lib-barcode/databarexp/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databarexp/</guid><description>&lt;p&gt;The only member of the DataBar family that carries more than a GTIN. It takes the same bracketed element string as GS1-128, compacts it, and draws it in 4 to 22 symbol characters.&lt;/p&gt;&#10;&lt;p&gt;Capacity is counted in bits rather than characters, up to 252 of them, because the compaction depends on what the Application Identifiers are: a price field costs less than free text.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAREXP&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABAREXP&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarExpanded&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the printable ASCII characters, in the bracketed element string form&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4 to 22 symbol characters, up to 252 bits of compacted data&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;per Application Identifier, where the definition specifies one&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-gtin-and-a-weight"&gt;A GTIN and a weight&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABAREXP&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(01)90614141000015(3202)000150&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/databarexp.svg" alt="GS1 DataBar Expanded barcode encoding (01)90614141000015(3202)000150" width="453" height="102" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>GS1 DataBar Expanded Stacked</title><link>https://tcpdf.org/projects/tc-lib-barcode/databarexpstack/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databarexpstack/</guid><description>&lt;p&gt;Expanded, folded into rows, for labels that are taller than they are wide. A row holds an even number of segments, from 2 to 20, and the default of 4 suits most label shapes.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAREXPSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABAREXPSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarExpandedStacked&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the printable ASCII characters, in the bracketed element string form&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4 to 22 symbol characters, up to 252 bits of compacted data&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;per Application Identifier, where the definition specifies one&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABAREXPSTACK,0,6&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1 DataBar Limited</title><link>https://tcpdf.org/projects/tc-lib-barcode/databarlimited/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databarlimited/</guid><description>&lt;p&gt;The narrowest of the family, 74 modules wide and 10 high, for items that cannot carry anything larger. The price of that size is the indicator digit: the first digit of the GTIN has to be 0 or 1, so the format only covers retail consumer units.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARLIMITED&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABARLIMITED&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarLimited&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit; the indicator digit must be 0 or 1&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABARLIMITED,1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1 DataBar Omnidirectional</title><link>https://tcpdf.org/projects/tc-lib-barcode/databar/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databar/</guid><description>&lt;p&gt;GS1 DataBar was designed for the things EAN and UPC symbols do not fit: loose produce, small pharmaceutical packs, coupons. It carries a full GTIN-14 in a symbol 96 modules wide.&lt;/p&gt;&#10;&lt;p&gt;The omnidirectional variant is 33 modules high, enough for a slot scanner to read it at any orientation.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABAR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarOmni&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABAR,1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1 DataBar Stacked</title><link>https://tcpdf.org/projects/tc-lib-barcode/databarstack/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databarstack/</guid><description>&lt;p&gt;Take the omnidirectional symbol, cut it in half and stack the halves: that is this format, for labels with more height than width. The two rows are separated by a pattern that tells the scanner how to put them back together.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABARSTACK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarStacked&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABARSTACK,1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1 DataBar Stacked Omnidirectional</title><link>https://tcpdf.org/projects/tc-lib-barcode/databarstackomni/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databarstackomni/</guid><description>&lt;p&gt;Two rows, each of them tall enough to be read on its own, which is what the stacked form gives up. The separator pattern between them alternates, so a scanner can tell which row it is looking at.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARSTACKOMNI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABARSTACKOMNI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarStackedOmni&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABARSTACKOMNI,1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1 DataBar Truncated</title><link>https://tcpdf.org/projects/tc-lib-barcode/databartrunc/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/databartrunc/</guid><description>&lt;p&gt;Same encoding as the omnidirectional form, at 13 modules high instead of 33. Reading it needs a handheld scanner aimed across the bars, which is the trade for the height it saves.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;DATABARTRUNC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::DATABARTRUNC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 24724&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneDataBarTruncated&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;DATABARTRUNC,1&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GS1-128</title><link>https://tcpdf.org/projects/tc-lib-barcode/gs1128/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/gs1128/</guid><description>&lt;p&gt;GS1-128 is CODE 128 carrying structured data: one or more Application Identifiers, each followed by its data field. AI &lt;code&gt;01&lt;/code&gt; is a trade item number, &lt;code&gt;10&lt;/code&gt; a batch, &lt;code&gt;17&lt;/code&gt; an expiry date, and so on through the GS1 General Specifications.&lt;/p&gt;&#10;&lt;p&gt;Write the payload in the bracketed form, &lt;code&gt;(ai)value(ai)value&lt;/code&gt;. The library parses it against the AI definitions, checks each field for length and character set, and inserts the FNC1 separators where a variable-length field needs one. Brackets are delimiters, so they cannot appear inside a value.&lt;/p&gt;</description></item><item><title>GS1-14</title><link>https://tcpdf.org/projects/tc-lib-barcode/gs114/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/gs114/</guid><description>&lt;p&gt;The same GTIN-14 that ITF-14 carries, drawn as a GS1-128 with Application Identifier &lt;code&gt;01&lt;/code&gt; instead. Also catalogued as EAN-14 and SCC-14. Pass the digits and the library writes the element string.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;GS114&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::GS114&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\GsOneOneFour&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-gtin-14"&gt;A GTIN-14&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS114&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;9501101020917&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/gs114.svg" alt="GS1-14 barcode encoding 9501101020917" width="402" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Han Xin Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/hanxin/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hanxin/</guid><description>&lt;p&gt;Han Xin was designed in China for Chinese text, and encodes GB 18030 characters directly rather than through an escape mechanism. Eighty-four versions, from 23 modules square to 189, and four error correction levels from L1 to L4.&lt;/p&gt;&#10;&lt;p&gt;Its finder patterns differ from the QR Code ones, so a reader has to be told to look for it.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HANXIN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::HANXIN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GB/T 21049, ISO/IEC 20830&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any byte sequence, with a dedicated mode for GB 18030 text&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;up to 7827 digits or 4350 bytes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon error correction at the chosen level&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;HANXIN,L3,10,2&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HIBC in Aztec Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/hibcaz/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hibcaz/</guid><description>&lt;p&gt;HIBC data in an Aztec symbol. Aztec needs no quiet zone, which buys a little more room on a label that is already full.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCAZ&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::HIBCAZ&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/HIBC 2.6, ANSI/HIBC 1.3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\HibcAztec&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the HIBC character set&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a primary structure of 6 to 23 characters, with an optional secondary structure&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library, plus the Aztec error correction&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-primary-data-structure"&gt;A primary data structure&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCAZ&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/hibcaz.svg" alt="HIBC in Aztec Code barcode encoding &amp;#43;A123BJC5D6E71" width="76" height="76" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>HIBC in CODE 128</title><link>https://tcpdf.org/projects/tc-lib-barcode/hibc128/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hibc128/</guid><description>&lt;p&gt;The same health industry data structure as &lt;code&gt;HIBC39&lt;/code&gt;, drawn as a CODE 128 symbol instead. CODE 128 is denser, so this is the linear form to reach for when the label is tight.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBC128&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::HIBC128&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/HIBC 2.6, ANSI/HIBC 1.3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\HibcOneTwoEight&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the HIBC character set&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a primary structure of 6 to 23 characters, with an optional secondary structure&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-primary-data-structure"&gt;A primary data structure&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/hibc128.svg" alt="HIBC in CODE 128 barcode encoding &amp;#43;A123BJC5D6E71" width="600" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>HIBC in CODE 39</title><link>https://tcpdf.org/projects/tc-lib-barcode/hibc39/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hibc39/</guid><description>&lt;p&gt;The health industry data structure, drawn as a CODE 39 symbol. It opens with &lt;code&gt;+&lt;/code&gt;, then the Labeler Identification Code that HIBCC assigns, the product number, the unit of measure, and optionally a secondary structure carrying lot, serial or expiry.&lt;/p&gt;&#10;&lt;p&gt;The structure is independent of the symbology that carries it, so the same payload also encodes as &lt;code&gt;HIBC128&lt;/code&gt;, &lt;code&gt;HIBCDM&lt;/code&gt;, &lt;code&gt;HIBCQR&lt;/code&gt; or &lt;code&gt;HIBCAZ&lt;/code&gt;. The modulo 43 check character is appended for you.&lt;/p&gt;</description></item><item><title>HIBC in Datamatrix</title><link>https://tcpdf.org/projects/tc-lib-barcode/hibcdm/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hibcdm/</guid><description>&lt;p&gt;HIBC data in a Datamatrix symbol. This is the combination that fits on a surgical instrument or a small vial, where a linear symbol has nowhere to go.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCDM&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::HIBCDM&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/HIBC 2.6, ANSI/HIBC 1.3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\HibcDatamatrix&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the HIBC character set&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a primary structure of 6 to 23 characters, with an optional secondary structure&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library, plus the Datamatrix error correction&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-primary-data-structure"&gt;A primary data structure&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCDM&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/hibcdm.svg" alt="HIBC in Datamatrix barcode encoding &amp;#43;A123BJC5D6E71" width="72" height="72" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>HIBC in QR Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/hibcqr/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/hibcqr/</guid><description>&lt;p&gt;The health industry data structure carried by a QR Code. Same payload rules as the linear HIBC types, same modulo 43 check character; what changes is the symbol around it and the amount of secondary data that will fit.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HIBCQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::HIBCQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ANSI/HIBC 2.6, ANSI/HIBC 1.3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\HibcQrCode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the HIBC character set&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a primary structure of 6 to 23 characters, with an optional secondary structure&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library, plus the QR Code error correction&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-primary-data-structure"&gt;A primary data structure&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCQR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/hibcqr.svg" alt="HIBC in QR Code barcode encoding &amp;#43;A123BJC5D6E71" width="84" height="84" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>HSL</title><link>https://tcpdf.org/projects/tc-lib-color/hsl/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/hsl/</guid><description>&lt;p&gt;Hue, saturation and lightness address the same colours as RGB in cylindrical coordinates. Darkening a colour changes one component instead of three, which is what palette and theme code uses the model for.&lt;/p&gt;&#10;&lt;h2 id="model"&gt;Model&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type string&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;HSL&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Hsl&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Model\Hsl&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF colour space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeviceRGB, by conversion&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;hsl()&lt;/code&gt;, &lt;code&gt;hsla()&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="components"&gt;Components&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Component&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Key&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Out of range&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Hue&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;hue&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0, a fraction of a full turn&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;wrapped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Saturation&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;saturation&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Lightness&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;lightness&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Alpha&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;alpha&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0, default 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;The hue is stored as a fraction, not as degrees. The &lt;code&gt;hsl()&lt;/code&gt; notation takes degrees and &lt;code&gt;getCssColor()&lt;/code&gt; emits degrees; the constructor does not.&lt;/p&gt;</description></item><item><title>Intelligent Mail Barcode</title><link>https://tcpdf.org/projects/tc-lib-barcode/imb/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/imb/</guid><description>&lt;p&gt;The Intelligent Mail Barcode replaced POSTNET and PLANET with one symbol carrying both routing and tracking: a 20-digit tracking code, then optionally a routing code of 5, 9 or 11 digits after a dash.&lt;/p&gt;&#10;&lt;p&gt;The result is always 65 four-state bars. Getting there takes an 11-bit cyclic redundancy check and a conversion through 13-bit codewords, which is where the &lt;code&gt;bcmath&lt;/code&gt; extension earns its place: without it the library falls back to its own arbitrary precision arithmetic.&lt;/p&gt;</description></item><item><title>Intelligent Mail Barcode, pre-processed</title><link>https://tcpdf.org/projects/tc-lib-barcode/imbpre/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/imbpre/</guid><description>&lt;p&gt;The same symbol approached from the other end. The payload is the finished bar string, 65 characters of &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;D&lt;/code&gt;, &lt;code&gt;F&lt;/code&gt; and &lt;code&gt;T&lt;/code&gt; for ascender, descender, full bar and tracker, and the library only draws it. Use it when the encoding has already been done by something else.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;IMBPRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::IMBPRE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USPS-B-3200&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\ImbPre&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;A&lt;/code&gt;, &lt;code&gt;D&lt;/code&gt;, &lt;code&gt;F&lt;/code&gt; and &lt;code&gt;T&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;exactly 65 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none; the input is already encoded&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-prepared-bar-string"&gt;A prepared bar string&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IMBPRE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/imbpre.svg" alt="Intelligent Mail Barcode, pre-processed barcode encoding AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA" width="387" height="90" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Interleaved 2 of 5</title><link>https://tcpdf.org/projects/tc-lib-barcode/i25/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/i25/</guid><description>&lt;p&gt;Interleaving is what makes this one compact: the first digit of each pair is drawn in the bars and the second in the spaces between them. A numeric payload comes out at roughly half the width of Standard 2 of 5.&lt;/p&gt;&#10;&lt;p&gt;The pairing means the digit count has to be even. The library prepends a zero when it is odd, so &lt;code&gt;012345678&lt;/code&gt; and &lt;code&gt;0012345678&lt;/code&gt; produce the same symbol.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;I25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::I25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 16390&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any number of digits; an odd count is left-padded with a zero&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none. Use &lt;code&gt;I25+&lt;/code&gt; for the modulo 10 check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I25&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/i25.svg" alt="Interleaved 2 of 5 barcode encoding 0123456789" width="234" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Interleaved 2 of 5 with check digit</title><link>https://tcpdf.org/projects/tc-lib-barcode/i25-plus/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/i25-plus/</guid><description>&lt;p&gt;Interleaved 2 of 5 with a modulo 10 check digit. The check is computed first and the result padded to an even length afterwards, so a ten-digit payload is drawn as twelve digits.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;I25+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::I25Plus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 16390&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFiveCheck&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any number of digits; the result is padded to an even length&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits-and-the-appended-check"&gt;Ten digits and the appended check&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I25+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/i25-plus.svg" alt="Interleaved 2 of 5 with check digit barcode encoding 0123456789" width="276" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>ITF-14</title><link>https://tcpdf.org/projects/tc-lib-barcode/itf14/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/itf14/</guid><description>&lt;p&gt;ITF-14 carries a GTIN-14, the trade item number of a shipping case or a pallet layer. It is Interleaved 2 of 5 inside a heavy rectangular frame, the bearer bar, which is there because corrugated board prints badly: without it a partial scan can be read as a valid shorter code.&lt;/p&gt;&#10;&lt;p&gt;The GTIN comes from a GS1 company prefix, which a GS1 member organisation issues.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ITF14&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::ITF14&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\ItfOneFour&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;13 digits, or 14 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 13 digits and verified when it is 14&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-gtin-14"&gt;A GTIN-14&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ITF14&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;09312345678907&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/itf14.svg" alt="ITF-14 barcode encoding 09312345678907" width="301" height="83" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Japan Post</title><link>https://tcpdf.org/projects/tc-lib-barcode/jppost/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/jppost/</guid><description>&lt;p&gt;Japan Post&amp;rsquo;s customer barcode carries the seven-digit postal code followed by the part of the address that identifies the delivery point. Bars take three shapes, and the alphabetic parts of an address are encoded through control characters, which is why the drawn symbol is longer than the text suggests.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;JPPOST&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::JPPOST&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\JapanPost&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt;, &lt;code&gt;A-Z&lt;/code&gt; and &lt;code&gt;-&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a 7 digit postal code, then up to 13 characters of address&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 19, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-postal-code-and-address"&gt;A postal code and address&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;JPPOST&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;910-00673-80-25J1-2B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/jppost.svg" alt="Japan Post barcode encoding 910-00673-80-25J1-2B" width="399" height="90" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>KIX</title><link>https://tcpdf.org/projects/tc-lib-barcode/kix/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/kix/</guid><description>&lt;p&gt;The Dutch customer index uses the same four bar states as the Royal Mail code, without the start pattern, the stop pattern or the check character. The sender prepares the delivery point string; PostNL defines what goes in it.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;KIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::KIX&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\KlantIndex&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;A-Z&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-delivery-point"&gt;A delivery point&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;KIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1231FZ13XHS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/kix.svg" alt="KIX barcode encoding 1231FZ13XHS" width="264" height="90" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Linear Raw Mode</title><link>https://tcpdf.org/projects/tc-lib-barcode/lraw/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/lraw/</guid><description>&lt;p&gt;This is a custom format rather than a published symbology. It allows a bar pattern computed elsewhere to be drawn as it is: the payload is the pattern itself, a string of &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt; in which each &lt;code&gt;1&lt;/code&gt; is one module of bar, and the library encodes nothing.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::LRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Raw&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-bar-pattern-drawn-as-given"&gt;A bar pattern drawn as given&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LRAW&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0101010101&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/lraw.svg" alt="Linear Raw Mode barcode encoding 0101010101" width="30" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>LOGMARS</title><link>https://tcpdf.org/projects/tc-lib-barcode/logmars/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/logmars/</guid><description>&lt;p&gt;LOGMARS is CODE 39 as the United States military profiles it for logistics labelling. The encoding is identical to CODE 39; the standard fixes the dimensions, the bar ratio and the human readable line.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;LOGMARS&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::LOGMARS&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MIL-STD-1189B&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Logmars&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;as &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/c39/"&gt;CODE 39&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 43, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-part-number"&gt;A part number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LOGMARS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12345/ABCDE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/logmars.svg" alt="LOGMARS barcode encoding 12345/ABCDE" width="669" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Micro QR Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/microqr/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/microqr/</guid><description>&lt;p&gt;Micro QR fits in one finder pattern instead of three, which takes the smallest symbol down to 11 modules square. Four versions, M1 to M4, and a ceiling of 35 digits: past that the data belongs in a full QR Code.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MICROQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::MICROQR&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 18004&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;numeric, alphanumeric and byte data&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;up to 35 digits, 21 alphanumeric characters or 15 bytes at version M4&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon error correction, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3 (see below)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="extra-parameters"&gt;Extra Parameters&lt;/h2&gt;&#10;&lt;p&gt;Appended to the type token after commas, as in &lt;code&gt;MICROQR,M,4,AN&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>MSI</title><link>https://tcpdf.org/projects/tc-lib-barcode/msi/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/msi/</guid><description>&lt;p&gt;MSI, a variation on the Plessey code, was made for shelf edge labels and inventory tags rather than for anything that travels. Each character is four bits drawn as four bar and space pairs.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MSI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::MSI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Msi&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;A-F&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none. Use &lt;code&gt;MSI+&lt;/code&gt; for the modulo 11 check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/msi.svg" alt="MSI barcode encoding 0123456789" width="381" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>MSI with check digit</title><link>https://tcpdf.org/projects/tc-lib-barcode/msi-plus/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/msi-plus/</guid><description>&lt;p&gt;MSI with a modulo 11 check digit appended. A payload whose check works out to 10 has no single character to write it in, and is rejected.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MSI+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::MSIPlus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\MsiCheck&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;A-F&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 11, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits-and-the-appended-check"&gt;Ten digits and the appended check&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/msi-plus.svg" alt="MSI with check digit barcode encoding 0123456789" width="417" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>PDF417</title><link>https://tcpdf.org/projects/tc-lib-barcode/pdf417/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/pdf417/</guid><description>&lt;p&gt;PDF417 is stacked rather than matrix: rows of codewords, each 17 modules wide and made of four bars and four spaces, which is where the name comes from. Driving licences and boarding passes carry it because a linear scanner sweeping across the rows can read it.&lt;/p&gt;&#10;&lt;p&gt;An aspect ratio sets the shape, and the nine error correction levels run from 2 correctable codewords at level 0 to 512 at level 8.&lt;/p&gt;</description></item><item><title>Pharmacode</title><link>https://tcpdf.org/projects/tc-lib-barcode/pharma/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/pharma/</guid><description>&lt;p&gt;Pharmacode represents a single integer as a sequence of thin and thick bars, read from right to left. There is no character set behind it, no start or stop pattern and no check digit.&lt;/p&gt;&#10;&lt;p&gt;The design target was verification on a packaging line: the symbol can be printed in any colour on any background, and a reader only has to distinguish two bar widths. PHARMA-CODE is a trademark of Laetus GmbH.&lt;/p&gt;</description></item><item><title>Pharmacode Two-Track</title><link>https://tcpdf.org/projects/tc-lib-barcode/pharma2t/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/pharma2t/</guid><description>&lt;p&gt;The two-track form gives each position three states instead of two: a bar in the upper track, in the lower track, or spanning both. That widens the range to 64570080 without making the symbol longer.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PHARMA2T&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::PHARMA2T&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\PharmaTwoTracks&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits, read as one integer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a value from 4 to 64570080&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-value-in-the-middle-of-the-range"&gt;A value in the middle of the range&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PHARMA2T&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;123456&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/pharma2t.svg" alt="Pharmacode Two-Track barcode encoding 123456" width="63" height="60" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>PLANET</title><link>https://tcpdf.org/projects/tc-lib-barcode/planet/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/planet/</guid><description>&lt;p&gt;PLANET is POSTNET with the tall and short bars exchanged: three tall bars per digit instead of two. The USPS used it to track mail through the network rather than to route it, and retired both formats together.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PLANET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::PLANET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USPS-B-3200&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Planet&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11 or 13 digits in practice; the library accepts any number of them&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-tracking-number"&gt;A tracking number&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PLANET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/planet.svg" alt="PLANET barcode encoding 0123456789" width="339" height="60" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Plessey</title><link>https://tcpdf.org/projects/tc-lib-barcode/plessey/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/plessey/</guid><description>&lt;p&gt;The older of the pair, from the 1970s. Plessey encodes hexadecimal digits and protects them with an eight-bit cyclic redundancy check rather than a modulo check digit; the library appends the CRC bits and the reversed terminator.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PLESSEY&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::PLESSEY&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Plessey&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;A-F&lt;/code&gt;, upper or lower case&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;an 8-bit CRC, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="sixteen-hexadecimal-digits"&gt;Sixteen hexadecimal digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PLESSEY&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789ABCDEF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/plessey.svg" alt="Plessey barcode encoding 0123456789ABCDEF" width="972" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>POSTNET</title><link>https://tcpdf.org/projects/tc-lib-barcode/postnet/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/postnet/</guid><description>&lt;p&gt;POSTNET encodes a ZIP code in bar height rather than bar width: five bars per digit, two of them tall. It carried the ZIP, the ZIP+4 or the eleven-digit delivery point code, and the United States Postal Service retired it in favour of the Intelligent Mail Barcode.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;POSTNET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::POSTNET&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;USPS-B-3200&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Postnet&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;5, 9 or 11 digits in practice; the library accepts any number of them&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-zip4-code"&gt;A ZIP+4 code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;POSTNET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/postnet.svg" alt="POSTNET barcode encoding 123456789" width="309" height="60" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>PZN (Pharmazentralnummer)</title><link>https://tcpdf.org/projects/tc-lib-barcode/pzn/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/pzn/</guid><description>&lt;p&gt;Pharmaceutical products in the German supply chain are identified by a Pharmazentralnummer, allocated by IFA GmbH. The library draws it as a CODE 39 symbol with the leading dash and the modulo 11 check digit that the PZN-8 scheme requires.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PZN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::PZN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IFA coding system, PZN-8&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Pzn&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;7 digits, or 8 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 11, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-pharmazentralnummer"&gt;A Pharmazentralnummer&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PZN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2758089&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/pzn.svg" alt="PZN (Pharmazentralnummer) barcode encoding 2758089" width="525" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>QR Code</title><link>https://tcpdf.org/projects/tc-lib-barcode/qrcode/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/qrcode/</guid><description>&lt;p&gt;Denso Wave designed the QR Code in 1994 to track parts on a production line, and its three finder patterns are why a phone can read one at any angle. Forty versions, from 21 modules square to 177, and four error correction levels that trade capacity for damage tolerance: L recovers about 7 per cent of the symbol, H about 30.&lt;/p&gt;&#10;&lt;p&gt;Leave the version at 0 and the library picks the smallest symbol the data fits. QR Code is a registered trademark of DENSO WAVE INCORPORATED.&lt;/p&gt;</description></item><item><title>RGB</title><link>https://tcpdf.org/projects/tc-lib-color/rgb/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/rgb/</guid><description>&lt;p&gt;Three additive channels, each a fraction between 0 and 1. Every hex code and colour name parses into this model, and every conversion passes through it: &lt;code&gt;toCmykArray()&lt;/code&gt; on an &lt;code&gt;Hsl&lt;/code&gt; object converts to RGB first.&lt;/p&gt;&#10;&lt;h2 id="model"&gt;Model&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type string&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;RGB&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ColorModelType::Rgb&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color\Model\Rgb&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PDF colour space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeviceRGB&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;#RGB&lt;/code&gt;, &lt;code&gt;#RGBA&lt;/code&gt;, &lt;code&gt;#RRGGBB&lt;/code&gt;, &lt;code&gt;#RRGGBBAA&lt;/code&gt;, colour names, &lt;code&gt;rgb()&lt;/code&gt;, &lt;code&gt;rgba()&lt;/code&gt;, &lt;code&gt;[&amp;quot;RGB&amp;quot;,r,g,b]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="components"&gt;Components&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Component&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Key&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Out of range&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Red&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;red&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Green&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;green&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Blue&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;blue&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Alpha&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;alpha&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.0 to 1.0, default 1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;clamped&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="construction"&gt;Construction&lt;/h2&gt;&#10;&lt;!-- generated: example-rgb-construct --&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Rgb([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCssColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rgb&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRgbHexColor(), &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;rgb(51,102,153)&#10;#336699&#10;&lt;/code&gt;&lt;/pre&gt;&lt;!-- /generated --&gt;&#10;&lt;h2 id="output"&gt;Output&lt;/h2&gt;&#10;&lt;p&gt;Every accessor, against &lt;code&gt;#336699&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>RM4SCC</title><link>https://tcpdf.org/projects/tc-lib-barcode/rms4cc/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/rms4cc/</guid><description>&lt;p&gt;Royal Mail&amp;rsquo;s customer code puts its data in the shape of each bar: ascender, descender, both, or neither. Four states over four bars give 36 values per character, which is what an alphanumeric UK postcode needs.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;RMS4CC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::RMS4CC&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;RM4SCC&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\RoyalMailFourCc&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt; and &lt;code&gt;A-Z&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;one check character, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-postcode-and-delivery-point"&gt;A postcode and delivery point&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RMS4CC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SN34RD1A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/rms4cc.svg" alt="RM4SCC barcode encoding SN34RD1A" width="225" height="90" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Royal Mail Mailmark</title><link>https://tcpdf.org/projects/tc-lib-barcode/mailmark/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/mailmark/</guid><description>&lt;p&gt;Mailmark replaced RM4SCC for bulk mail, adding the reporting data that the service is built on. The application string is 22 characters for the C barcode or 26 for the L, and packs a format code, a version, a class, the Supply Chain ID that Royal Mail issues, an item identifier and the destination postcode.&lt;/p&gt;&#10;&lt;p&gt;The two lengths are the two barcode types; nothing else selects between them.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;MAILMARK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::MAILMARK&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postal&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Royal Mail Mailmark&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Mailmark&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0-9&lt;/code&gt;, &lt;code&gt;A-Z&lt;/code&gt; and space, with the field-by-field rules of the specification&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;exactly 22 characters for type C, or 26 for type L&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reed-Solomon check symbols, computed by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-type-c-application-string"&gt;A type C application string&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MAILMARK&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;41038422416563762EF61AH8T &amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/mailmark.svg" alt="Royal Mail Mailmark barcode encoding 41038422416563762EF61AH8T " width="465" height="90" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Square Raw Mode</title><link>https://tcpdf.org/projects/tc-lib-barcode/sraw/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/sraw/</guid><description>&lt;p&gt;This is a custom format rather than a published symbology, the two-dimensional counterpart of &lt;code&gt;LRAW&lt;/code&gt;. It allows a module grid computed elsewhere to be drawn as it is: rows of &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt; separated by commas, one character per module, every row the same length.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;SRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::SRAW&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2D&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Square\Raw&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt;, with &lt;code&gt;,&lt;/code&gt; separating the rows&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;any grid whose rows are all the same length&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-four-by-four-grid"&gt;A four by four grid&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SRAW&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0101,1010,1100,0011&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/sraw.svg" alt="Square Raw Mode barcode encoding 0101,1010,1100,0011" width="16" height="16" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>SSCC-18</title><link>https://tcpdf.org/projects/tc-lib-barcode/sscc18/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/sscc18/</guid><description>&lt;p&gt;An SSCC identifies one logistic unit, a pallet or a carton, uniquely and for as long as it exists. The symbol is a GS1-128 carrying Application Identifier &lt;code&gt;00&lt;/code&gt;, and this type takes the plain digits and builds the element string for you.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;SSCC18&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::SSCC18&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\SsccOneEight&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;17 digits, or 18 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 17 digits and verified when it is 18&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-serial-shipping-container-code"&gt;A serial shipping container code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SSCC18&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;39501101020917171&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/sscc18.svg" alt="SSCC-18 barcode encoding 39501101020917171" width="468" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Standard 2 of 5</title><link>https://tcpdf.org/projects/tc-lib-barcode/s25/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/s25/</guid><description>&lt;p&gt;Two of the five bars in each character are wide, which is where the family takes its name. Only the bars carry data here and the spaces separate them, so the symbol is wide and very tolerant of poor printing. Digits only.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::S25&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none. Use &lt;code&gt;S25+&lt;/code&gt; for the modulo 10 check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits"&gt;Ten digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/s25.svg" alt="Standard 2 of 5 barcode encoding 0123456789" width="477" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Standard 2 of 5 with check digit</title><link>https://tcpdf.org/projects/tc-lib-barcode/s25-plus/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/s25-plus/</guid><description>&lt;p&gt;Standard 2 of 5 with a modulo 10 check digit computed over the payload and appended before encoding.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;S25+&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::S25Plus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFiveCheck&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="ten-digits-and-the-appended-check"&gt;Ten digits and the appended check&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/s25-plus.svg" alt="Standard 2 of 5 with check digit barcode encoding 0123456789" width="519" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Telepen</title><link>https://tcpdf.org/projects/tc-lib-barcode/telepen/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/telepen/</guid><description>&lt;p&gt;Telepen encodes the full ASCII range at a constant width per character, which makes the symbol length predictable from the payload length alone. Every symbol carries a modulo 127 check character. Telepen is a trademark of SB Electronic Systems.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;TELEPEN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::TELEPEN&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\Telepen&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;the 128 ASCII characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 to 30000 characters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 127, appended by the library&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="letters-and-digits"&gt;Letters and digits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TELEPEN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ABC123&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/telepen.svg" alt="Telepen barcode encoding ABC123" width="429" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>UPC-A</title><link>https://tcpdf.org/projects/tc-lib-barcode/upca/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/upca/</guid><description>&lt;p&gt;The twelve-digit North American retail symbol, and the oldest of this family: the first UPC-A was scanned in 1974. It is an EAN-13 with a leading zero, and the library encodes it as one, which is why &lt;code&gt;getExtendedCode()&lt;/code&gt; returns thirteen digits.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;UPCA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::UPCA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15420, GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\UpcA&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits, plus &lt;code&gt;+&lt;/code&gt; to introduce an add-on&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11 digits, or 12 with a valid check digit&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;modulo 10, appended when the payload is 11 digits and verified when it is 12&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-product-code"&gt;A product code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPCA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;72527273070&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/upca.svg" alt="UPC-A barcode encoding 72527273070" width="285" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>UPC-E</title><link>https://tcpdf.org/projects/tc-lib-barcode/upce/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/upce/</guid><description>&lt;p&gt;Six digits instead of twelve, for packages too small to carry UPC-A. The compression works by suppressing runs of zeros in the manufacturer and product fields, so only UPC-A codes with the right zero pattern have a UPC-E form at all.&lt;/p&gt;&#10;&lt;p&gt;A code with no UPC-E form is rejected at encode time, before it reaches a label.&lt;/p&gt;&#10;&lt;h2 id="type-token"&gt;Type Token&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;UPCE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Enum case&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;BarcodeType::UPCE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Family&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standard&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ISO/IEC 15420, GS1 General Specifications&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Class&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Barcode\Type\Linear\UpcE&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Character set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;digits, plus &lt;code&gt;+&lt;/code&gt; to introduce an add-on&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Length&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;6 digits, or the 8 or 12 digit form it expands to&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;computed from the expanded UPC-A form&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;&#10;&lt;h3 id="a-compressed-product-code"&gt;A compressed product code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require_once&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Barcode\Barcode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPCE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;725277&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBackgroundColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bobj&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getInlineSvgCode();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://tcpdf.org/img/barcode/upce.svg" alt="UPC-E barcode encoding 725277" width="153" height="30" loading="eager" fetchpriority="high"&gt;&#10;&lt;/p&gt;</description></item><item><title>Examples</title><link>https://tcpdf.org/examples/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/</guid><description>&lt;p&gt;Every example below is a standalone PHP script from the &lt;a href="https://github.com/tecnickcom/tc-lib-pdf"&gt;tc-lib-pdf&lt;/a&gt; repository, shipped with the &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; it produces. Each page embeds both, and links to the raw &lt;code&gt;.pdf&lt;/code&gt; and the &lt;code&gt;.phps&lt;/code&gt; source so they can be downloaded or read directly.&lt;/p&gt;&#10;&lt;p&gt;The scripts live in &lt;code&gt;examples/&lt;/code&gt; in the repository and run in place, because local file reads are restricted to an allowlist covering the package tree. Fonts must be generated first: see &lt;a href="https://tcpdf.org/docs/fonts/"&gt;/docs/fonts/&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Documentation</title><link>https://tcpdf.org/docs/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/</guid><description>&lt;p&gt;One guide per topic. Start with fonts, since nothing renders until they have been generated.&lt;/p&gt;&#10;&lt;h2 id="guides"&gt;Guides&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/fonts/"&gt;/docs/fonts/&lt;/a&gt; : installation-time font generation, custom font import, third-party font licences.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/html-css/"&gt;/docs/html-css/&lt;/a&gt; : &lt;code&gt;addHTMLCell()&lt;/code&gt;, the cascade, the supported &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; subset, tables, forms, and page flow.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/development/"&gt;/docs/development/&lt;/a&gt; : local &lt;abbr title="Quality Assurance"&gt;QA&lt;/abbr&gt;, the preflight matrix, RPM and DEB packaging.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/enums/"&gt;/docs/enums/&lt;/a&gt; : the typed enums exposed across the tc-lib stack.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/remote-resources/"&gt;/docs/remote-resources/&lt;/a&gt; : host and path allowlists, cURL policy, the full &lt;code&gt;fileOptions&lt;/code&gt; reference.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;/docs/digital-signatures/&lt;/a&gt; : &lt;abbr title="Cryptographic Message Syntax"&gt;CMS&lt;/abbr&gt; and &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; signatures, &lt;abbr title="Request for Comments"&gt;RFC&lt;/abbr&gt; 3161 timestamps, &lt;abbr title="Long-Term Validation"&gt;LTV&lt;/abbr&gt; material.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/standards/"&gt;/docs/standards/&lt;/a&gt; : PDF/A, PDF/X and PDF/UA modes, hybrid invoices, reproducible output.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;/docs/pdf-import/&lt;/a&gt; : importing and placing pages from existing PDFs.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/cache/"&gt;/docs/cache/&lt;/a&gt; : the optional external cache for font subsets and images.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/ai-assistants/"&gt;/docs/ai-assistants/&lt;/a&gt; : using tc-lib-pdf with &lt;abbr title="Large Language Model"&gt;LLM&lt;/abbr&gt; coding assistants, and the legacy TCPDF &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; they reach for by default.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/"&gt;/docs/srcdoc/&lt;/a&gt; : generated API reference for every package.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/license/"&gt;/docs/license/&lt;/a&gt; : the full LGPL-3.0-or-later text.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="quick-links"&gt;Quick Links&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Feature index: &lt;a href="https://tcpdf.org/features/"&gt;/features/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Library comparison: &lt;a href="https://tcpdf.org/comparison/"&gt;/comparison/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;API docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf"&gt;/docs/srcdoc/tc-lib-pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Examples index: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Package ecosystem: &lt;a href="https://tcpdf.org/projects/"&gt;/projects/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Machine-readable site index: &lt;a href="https://tcpdf.org/llms.txt"&gt;/llms.txt&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Project overview: &lt;a href="https://tcpdf.org/"&gt;/&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib Projects</title><link>https://tcpdf.org/projects/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; composes a set of independently versioned Composer packages. Installing &lt;code&gt;tecnickcom/tc-lib-pdf&lt;/code&gt; pulls the ones it needs; each can also be required on its own by a project that wants only that piece.&lt;/p&gt;&#10;&lt;p&gt;Every package targets PHP 8.2 or later, is published under LGPL-3.0-or-later, and has generated &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; reference under &lt;a href="https://tcpdf.org/docs/srcdoc/"&gt;/docs/srcdoc/&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="document-generation"&gt;Document Generation&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;tc-lib-pdf&lt;/strong&gt; : the top-level library. Document authoring, text and &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; layout, page management, and &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; output. &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf"&gt;API reference&lt;/a&gt; · &lt;a href="https://github.com/tecnickcom/tc-lib-pdf"&gt;GitHub&lt;/a&gt; · &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf"&gt;Packagist&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-page/"&gt;tc-lib-pdf-page&lt;/a&gt; : page geometry, formats, margins, the five page boxes, page groups, and page-level attributes.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-graph/"&gt;tc-lib-pdf-graph&lt;/a&gt; : vector primitives, the graphics style stack, transformations, transparency, and shadings.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="text-and-fonts"&gt;Text and Fonts&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-font/"&gt;tc-lib-pdf-font&lt;/a&gt; : font loading, parsing, subsetting, embedding, and the font data generation step. See also &lt;a href="https://tcpdf.org/docs/fonts/"&gt;/docs/fonts/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-unicode/"&gt;tc-lib-unicode&lt;/a&gt; : Unicode string processing, the bidirectional algorithm (&lt;abbr title="Unicode Standard Annex"&gt;UAX&lt;/abbr&gt; #9), normalization, and Arabic shaping.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-unicode-data/"&gt;tc-lib-unicode-data&lt;/a&gt; : the generated Unicode character data tables that &lt;code&gt;tc-lib-unicode&lt;/code&gt; reads.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="colour-images-and-barcodes"&gt;Colour, Images, and Barcodes&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-color/"&gt;tc-lib-color&lt;/a&gt; : colour parsing and conversion across &lt;abbr title="Red, Green, Blue"&gt;RGB&lt;/abbr&gt;, &lt;abbr title="Hue, Saturation, Lightness"&gt;HSL&lt;/abbr&gt;, &lt;abbr title="Cyan, Magenta, Yellow, Key"&gt;CMYK&lt;/abbr&gt;, Lab, grayscale, and spot colours, for both &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; and PDF output. One page per &lt;a href="https://tcpdf.org/projects/tc-lib-color/models/"&gt;colour model&lt;/a&gt;, plus the &lt;a href="https://tcpdf.org/projects/tc-lib-color/notations/"&gt;notations&lt;/a&gt; the parser accepts and the &lt;a href="https://tcpdf.org/projects/tc-lib-color/web-colors/"&gt;150 named colours&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-image/"&gt;tc-lib-pdf-image&lt;/a&gt; : image loading, &lt;abbr title="Portable Network Graphics"&gt;PNG&lt;/abbr&gt; and &lt;abbr title="Joint Photographic Experts Group"&gt;JPEG&lt;/abbr&gt; parsing, transparency and soft masks, &lt;abbr title="International Color Consortium"&gt;ICC&lt;/abbr&gt; profiles, and embedding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt; : 73 linear, postal, GS1, and two-dimensional barcode symbologies, rendered as PNG, &lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt;, HTML, or PDF operators. One page per symbology under &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/linear/"&gt;Linear&lt;/a&gt;, &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/2d/"&gt;2D&lt;/a&gt; and &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/postal/"&gt;Postal&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="reading-encryption-and-signing"&gt;Reading, Encryption, and Signing&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-parser/"&gt;tc-lib-pdf-parser&lt;/a&gt; : reads existing PDF files, for import and manipulation. See also &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;/docs/pdf-import/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-filter/"&gt;tc-lib-pdf-filter&lt;/a&gt; : PDF stream filters and predictors, used when decoding parsed content.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-encrypt/"&gt;tc-lib-pdf-encrypt&lt;/a&gt; : document encryption and permissions, from RC4-40 to AES-256 R6, including public-key recipients.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-pdf-sign/"&gt;tc-lib-pdf-sign&lt;/a&gt; : signature primitives (&lt;abbr title="Public-Key Cryptography Standards"&gt;PKCS&lt;/abbr&gt;#7, &lt;abbr title="CMS Advanced Electronic Signatures"&gt;CAdES&lt;/abbr&gt;, &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; baseline), &lt;abbr title="Request for Comments"&gt;RFC&lt;/abbr&gt; 3161 timestamps, and &lt;abbr title="Long-Term Validation"&gt;LTV&lt;/abbr&gt; material. See also &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;/docs/digital-signatures/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="support"&gt;Support&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/projects/tc-lib-file/"&gt;tc-lib-file&lt;/a&gt; : file and data-URI helpers used internally for asset loading, with the local path and remote host allowlists. See also &lt;a href="https://tcpdf.org/docs/remote-resources/"&gt;/docs/remote-resources/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="quick-links"&gt;Quick Links&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Project overview: &lt;a href="https://tcpdf.org/"&gt;/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Feature index: &lt;a href="https://tcpdf.org/features/"&gt;/features/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Runnable examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guides: &lt;a href="https://tcpdf.org/docs/"&gt;/docs/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Generated API reference: &lt;a href="https://tcpdf.org/docs/srcdoc/"&gt;/docs/srcdoc/&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Search</title><link>https://tcpdf.org/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tcpdf.org/search/</guid><description/></item><item><title>Features</title><link>https://tcpdf.org/features/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/features/</guid><description>&lt;p&gt;What the library provides, grouped by area, with a link to the guide or the runnable example that covers each item. For how this compares with the other PHP &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; tools, see &lt;a href="https://tcpdf.org/comparison/"&gt;/comparison/&lt;/a&gt;.&lt;/p&gt;&#10;&#10;&lt;div class="toc"&gt;&#10;&#9;&lt;h2&gt;Table of contents&lt;/h2&gt;&#10;&#9;&lt;nav id="TableOfContents"&gt;&#10; &lt;ul&gt;&#10; &lt;li&gt;&lt;a href="#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#colour"&gt;Colour&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#images"&gt;Images&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#barcodes"&gt;Barcodes&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#encryption-and-permissions"&gt;Encryption and Permissions&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#reading-and-reusing-existing-pdfs"&gt;Reading and Reusing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#output-and-metadata"&gt;Output and Metadata&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#integration-and-operations"&gt;Integration and Operations&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#everything-runnable"&gt;Everything Runnable&lt;/a&gt;&lt;/li&gt;&#10; &lt;/ul&gt;&#10;&lt;/nav&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 id="pages-and-layout"&gt;Pages and Layout&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Named page formats: &lt;abbr title="International Organization for Standardization"&gt;ISO&lt;/abbr&gt;, ANSI, &lt;abbr title="Japanese Industrial Standards"&gt;JIS&lt;/abbr&gt;, envelope, photographic and other series, plus arbitrary custom sizes. See &lt;a href="https://tcpdf.org/examples/E004_page_formats/"&gt;/examples/E004_page_formats/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Portrait, landscape, and orientation derived from the requested size.&lt;/li&gt;&#10;&lt;li&gt;Units of points, millimetres, centimetres, and inches, selected per document.&lt;/li&gt;&#10;&lt;li&gt;The five page boxes (MediaBox, CropBox, BleedBox, TrimBox, ArtBox), each with its BoxColorInfo guidelines, and &lt;code&gt;omitPageBox()&lt;/code&gt; / &lt;code&gt;keepPageBox()&lt;/code&gt; for the ISO 15930 rule that a page declares a TrimBox or an ArtBox but not both. See &lt;a href="https://tcpdf.org/examples/E048_page_boxes_prepress/"&gt;/examples/E048_page_boxes_prepress/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Page, header, content, and footer margins, with mirrored gutters in booklet mode.&lt;/li&gt;&#10;&lt;li&gt;Writable regions: equal columns, or rectangles computed around reserved areas that text and &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; flow must avoid. See &lt;a href="https://tcpdf.org/examples/E080_no_write_regions/"&gt;/examples/E080_no_write_regions/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Page stack operations: add, clone, move, delete, and select, with page groups for per-group numbering. See &lt;a href="https://tcpdf.org/examples/E054_page_groups_numbering/"&gt;/examples/E054_page_groups_numbering/&lt;/a&gt; and &lt;a href="https://tcpdf.org/examples/E055_page_reorder_booklet/"&gt;/examples/E055_page_reorder_booklet/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Page number aliases (&lt;code&gt;~#PN&lt;/code&gt; for the page number, &lt;code&gt;~#PT&lt;/code&gt; for the total pages of the group) resolved at output time, in text written with any font type, in &lt;code&gt;/ActualText&lt;/code&gt;, and in XObjects, keeping the aligned edge of centered, right-aligned, and justified lines.&lt;/li&gt;&#10;&lt;li&gt;Page rotation, preferred zoom, and page transitions.&lt;/li&gt;&#10;&lt;li&gt;Headers, footers, and default page content. See &lt;a href="https://tcpdf.org/examples/E005_header_footer/"&gt;/examples/E005_header_footer/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Per-page transparency group control, with the group omitted on fully opaque pages.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="text-and-typography"&gt;Text and Typography&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Text cells with horizontal alignment (left, centre, right, justified) and vertical alignment (top, centre, bottom, ascent, baseline, descent). See &lt;a href="https://tcpdf.org/examples/E023_cell_alignment/"&gt;/examples/E023_cell_alignment/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Overflow fit modes: truncate, stretch, or shrink the font to the cell. See &lt;a href="https://tcpdf.org/examples/E074_text_cell_fit_modes/"&gt;/examples/E074_text_cell_fit_modes/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Line wrapping and line height control. See &lt;a href="https://tcpdf.org/examples/E083_text_line_wrap/"&gt;/examples/E083_text_line_wrap/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Line break controls: soft hyphen, zero width space, word joiner, and zero width no-break space, kept through the bidirectional reordering.&lt;/li&gt;&#10;&lt;li&gt;A word wider than the line broken between two characters, switchable through &lt;code&gt;enableWordBreakFallback()&lt;/code&gt;, and line breaks after a hyphen joining two letters, switchable through &lt;code&gt;enableHyphenBreaks()&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Hyphenation, including custom dictionaries. See &lt;a href="https://tcpdf.org/examples/E028_text_hyphenation/"&gt;/examples/E028_text_hyphenation/&lt;/a&gt; and &lt;a href="https://tcpdf.org/examples/E064_custom_hyphenation_dictionary/"&gt;/examples/E064_custom_hyphenation_dictionary/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Font stretching and character spacing, combinable in one matrix. See &lt;a href="https://tcpdf.org/examples/E079_font_stretch_spacing_matrix/"&gt;/examples/E079_font_stretch_spacing_matrix/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Text rendering modes: fill, stroke, fill and stroke, invisible, and the clipping variants. See &lt;a href="https://tcpdf.org/examples/E026_text_rendering_modes/"&gt;/examples/E026_text_rendering_modes/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Measured output: &lt;code&gt;getTextCell()&lt;/code&gt; returns the operators plus the bounding box and metrics, so text can be positioned from what it actually measures. See &lt;a href="https://tcpdf.org/examples/E071_gettextcell_bbox_metrics/"&gt;/examples/E071_gettextcell_bbox_metrics/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Absolute positioning alongside flowed content. See &lt;a href="https://tcpdf.org/examples/E076_absolute_position/"&gt;/examples/E076_absolute_position/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Cell borders and background fills. See &lt;a href="https://tcpdf.org/examples/E022_cell_borders/"&gt;/examples/E022_cell_borders/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="multilingual-text"&gt;Multilingual Text&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Unicode 17 character data, generated from &lt;abbr title="Unicode Character Database"&gt;UCD&lt;/abbr&gt; 17.0.0.&lt;/li&gt;&#10;&lt;li&gt;Unicode Bidirectional Algorithm (&lt;abbr title="Unicode Standard Annex"&gt;UAX&lt;/abbr&gt; #9), verified against the official &lt;code&gt;BidiCharacterTest.txt&lt;/code&gt; and &lt;code&gt;BidiTest.txt&lt;/code&gt; conformance suites. See &lt;a href="https://tcpdf.org/examples/E062_bidi_mixed_rtl_ltr/"&gt;/examples/E062_bidi_mixed_rtl_ltr/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Forced paragraph direction (auto, right-to-left, left-to-right) per text call.&lt;/li&gt;&#10;&lt;li&gt;Line breaking of mixed-direction text, with each wrapped line reordered on its own. See &lt;a href="https://tcpdf.org/examples/E085_bidi_line_break/"&gt;/examples/E085_bidi_line_break/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Line breaking of Chinese, Japanese, and Korean text without spaces, with the &lt;abbr title="Unicode Standard Annex"&gt;UAX&lt;/abbr&gt; #14 line start and end rules, switchable through &lt;code&gt;enableIdeographicBreaks()&lt;/code&gt;. See &lt;a href="https://tcpdf.org/examples/E086_cjk_line_break/"&gt;/examples/E086_cjk_line_break/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Arabic shaping driven by the Joining_Type property, with lam-alef and allah ligatures placed so combining marks keep following their base. See &lt;a href="https://tcpdf.org/examples/E003_rtl_languages/"&gt;/examples/E003_rtl_languages/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Devanagari left-positional matra reordering and Hangul Jamo composition into precomposed syllables.&lt;/li&gt;&#10;&lt;li&gt;Coverage checks across scripts. See &lt;a href="https://tcpdf.org/examples/E046_pangrams/"&gt;/examples/E046_pangrams/&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Two boundaries are worth knowing. Shaping is codepoint-level substitution rather than OpenType Layout: there is no &lt;abbr title="Glyph Substitution"&gt;GSUB&lt;/abbr&gt; or &lt;abbr title="Glyph Positioning"&gt;GPOS&lt;/abbr&gt; processing, so the cursive scripts other than Arabic (Syriac, N&amp;rsquo;Ko, Mandaic, Adlam) are drawn unshaped, and Indic shaping stops at matra reordering. In the bidirectional algorithm, rule L3 (combining marks displayed in a different order) is not implemented, and the paragraph separator is appended to the paragraph output rather than being reset by L1 and reversed by L2.&lt;/p&gt;</description></item><item><title>PHP PDF Libraries Compared</title><link>https://tcpdf.org/comparison/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/comparison/</guid><description>&lt;p&gt;A feature comparison of the &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; tools most often used from PHP. For the full tc-lib-pdf capability index, see &lt;a href="https://tcpdf.org/features/"&gt;/features/&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Two classes of tool are compared separately, because they solve different problems: libraries that write PDF from PHP, and renderers that drive a browser engine and return its print output.&lt;/p&gt;&#10;&lt;p&gt;Versions, licences, and PHP requirements come from Packagist. Capabilities come from each project&amp;rsquo;s own documentation and source, cover what the package itself provides without third-party extensions, and were checked on 2026-08-31. Corrections are welcome: open an issue on &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/issues"&gt;tc-lib-pdf&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Sponsor</title><link>https://tcpdf.org/sponsor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tcpdf.org/sponsor/</guid><description>&lt;p&gt;&lt;strong&gt;tc-lib-pdf&lt;/strong&gt;, the legacy &lt;strong&gt;TCPDF&lt;/strong&gt; (installed 100M+ times), and the wider &lt;strong&gt;tc-lib&lt;/strong&gt; package stack are built and maintained by Nicola Asuni (&lt;a href="https://tecnick.com"&gt;Tecnick.com LTD&lt;/a&gt;). For over 25 years this has been free, open-source infrastructure that thousands of products and research pipelines depend on every day.&lt;/p&gt;&#10;&lt;p&gt;Sponsorship pays for the unglamorous half of that: security fixes, tracking standards revisions, and answering issues. If your company ships one of these packages, it is closer to an insurance premium than to a donation.&lt;/p&gt;</description></item><item><title>Legal</title><link>https://tcpdf.org/legal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tcpdf.org/legal/</guid><description>&lt;h2&gt;Trademarks&lt;/h2&gt;&#10;&#10;&lt;p&gt;Any trademarks, service marks, collective marks, design rights, personality rights or similar rights that are mentioned, used or cited on this website are the property of their respective owners. Unless otherwise stated, this website and its owners are neither endorsed by nor affiliated with any of the holders of such rights, and cannot grant any rights to use otherwise protected materials. Your use of any such property is at your own risk.&lt;/p&gt;</description></item><item><title>HTML and CSS</title><link>https://tcpdf.org/docs/html-css/</link><pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/html-css/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; renders a subset of &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; and &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; directly, with no browser engine involved. Markup goes into a placed block on the page, and the engine resolves the cascade, the box model, floats, tables, and page breaks itself.&lt;/p&gt;&#10;&#10;&lt;div class="toc"&gt;&#10;&#9;&lt;h2&gt;Table of contents&lt;/h2&gt;&#10;&#9;&lt;nav id="TableOfContents"&gt;&#10; &lt;ul&gt;&#10; &lt;li&gt;&lt;a href="#the-two-entry-points"&gt;The Two Entry Points&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#where-the-styles-come-from"&gt;Where the Styles Come From&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#the-supported-css-subset"&gt;The Supported CSS Subset&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#defaults-you-can-change"&gt;Defaults You Can Change&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#tables"&gt;Tables&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#lists"&gt;Lists&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#forms"&gt;Forms&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#flow-across-pages"&gt;Flow Across Pages&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#images-and-remote-assets-in-markup"&gt;Images and Remote Assets in Markup&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#css-inside-svg"&gt;CSS Inside SVG&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#tagged-and-accessible-output"&gt;Tagged and Accessible Output&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#hyphenation"&gt;Hyphenation&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#line-breaking"&gt;Line Breaking&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#malformed-markup"&gt;Malformed Markup&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#related-guides"&gt;Related Guides&lt;/a&gt;&lt;/li&gt;&#10; &lt;/ul&gt;&#10;&lt;/nav&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 id="the-two-entry-points"&gt;The Two Entry Points&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;TCellDef &lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; getHTMLCell(&lt;span style="color:#8b949e;font-style:italic"&gt;/* the same parameters */&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;addHTMLCell()&lt;/code&gt; writes the result into the document. It accounts for automatic page and region breaks, appending content to each page stream the block reaches, so a block longer than the remaining space continues onto the following pages.&lt;/p&gt;</description></item><item><title>Development and Packaging</title><link>https://tcpdf.org/docs/development/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/development/</guid><description>&lt;p&gt;Composer is how &lt;code&gt;tc-lib-pdf&lt;/code&gt; is normally installed. This page covers the other side: working on the library itself, and building the RPM and DEB packages that some deployment models need.&lt;/p&gt;&#10;&lt;h2 id="development-workflow"&gt;Development Workflow&lt;/h2&gt;&#10;&lt;p&gt;Use the project Makefile as the main entry point for local development tasks:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Install all development dependencies&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make deps&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# List all available Make targets&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make help&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Run the full quality pipeline (dependency checks, formatting, lint, static analysis, tests)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make qa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Run the same checks and produce the coverage report&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make qa-coverage&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Generate one sample per conformance mode and run the external validators (if installed)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make preflight&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Build artifacts and reports are written to &lt;code&gt;target/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Typed Enums</title><link>https://tcpdf.org/docs/enums/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/enums/</guid><description>&lt;p&gt;String options such as page units, conformance modes, alignment codes, blend modes, barcode types, filter names, and signature profiles are also available as &lt;strong&gt;backed enums&lt;/strong&gt;. The enums make the accepted values discoverable from the &lt;abbr title="Integrated Development Environment"&gt;IDE&lt;/abbr&gt; and checkable by static analysis, and the plain strings remain accepted everywhere.&lt;/p&gt;&#10;&lt;h2 id="the-enum-with-union-type-pattern"&gt;The enum-with-union-type Pattern&lt;/h2&gt;&#10;&lt;p&gt;Every affected parameter is declared as a &lt;code&gt;string|Enum&lt;/code&gt; union, and the backing value of each enum case is exactly the equivalent string:&lt;/p&gt;</description></item><item><title>Remote Resources</title><link>https://tcpdf.org/docs/remote-resources/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/remote-resources/</guid><description>&lt;p&gt;By default &lt;code&gt;tc-lib-pdf&lt;/code&gt; does &lt;strong&gt;not&lt;/strong&gt; fetch remote URLs. Images, fonts, and &lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt; files referenced by &lt;abbr title="HyperText Transfer Protocol"&gt;HTTP&lt;/abbr&gt; or &lt;abbr title="HyperText Transfer Protocol Secure"&gt;HTTPS&lt;/abbr&gt; are blocked unless you explicitly allow the originating hosts. Local file reads are split between internal library IO and markup-originated resource loads, with separate allowlists.&lt;/p&gt;&#10;&lt;h2 id="how-remote-access-is-controlled"&gt;How Remote Access Is Controlled&lt;/h2&gt;&#10;&lt;p&gt;Remote access is configured through the optional &lt;code&gt;fileOptions&lt;/code&gt; array passed as the last argument to the &lt;code&gt;Tcpdf&lt;/code&gt; constructor (and forwarded to &lt;code&gt;initClassObjects()&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Digital Signatures</title><link>https://tcpdf.org/docs/digital-signatures/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/digital-signatures/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; produces detached &lt;abbr title="Cryptographic Message Syntax"&gt;CMS&lt;/abbr&gt; (&lt;abbr title="Public-Key Cryptography Standards"&gt;PKCS&lt;/abbr&gt;#7) signatures and &lt;strong&gt;&lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; baseline&lt;/strong&gt; signatures (&lt;abbr title="European Telecommunications Standards Institute"&gt;ETSI&lt;/abbr&gt; EN 319 142-1) with optional &lt;abbr title="Request for Comments"&gt;RFC&lt;/abbr&gt; 3161 timestamps, &lt;abbr title="Long-Term Validation"&gt;LTV&lt;/abbr&gt; (Long-Term Validation) material, and archive timestamps. The signature itself is embedded in the signed revision; LTV material and archive timestamps are written in further incremental revisions. The cryptography lives in the companion package &lt;a href="https://tcpdf.org/projects/tc-lib-pdf-sign/"&gt;tc-lib-pdf-sign&lt;/a&gt;, while the host library keeps the ByteRange placement, the incremental update writer, and the public facade.&lt;/p&gt;</description></item><item><title>Standards and Conformance</title><link>https://tcpdf.org/docs/standards/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/standards/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; has conformance modes for archival (PDF/A), print exchange (PDF/X) and accessible tagged output (PDF/UA). Selecting one changes what the library emits: features the standard forbids are suppressed, the metadata it requires is written, and the problems that cannot be fixed without discarding your content are reported instead. See &lt;a href="#conformance-warnings"&gt;Conformance Warnings&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="pdfa-archival"&gt;PDF/A Archival&lt;/h2&gt;&#10;&lt;p&gt;Use the &lt;code&gt;mode&lt;/code&gt; constructor argument to select the desired PDF/A profile:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa1&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa1a&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa1b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa2a&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa2b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa2u&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa3a&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa3b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa3u&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;mode&lt;/code&gt; argument is declared as &lt;code&gt;string|PdfConformance&lt;/code&gt;, so every mode is also available as a case of the &lt;code&gt;\Com\Tecnick\Pdf\PdfConformance&lt;/code&gt; enum:&lt;/p&gt;</description></item><item><title>PDF Import</title><link>https://tcpdf.org/docs/pdf-import/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/pdf-import/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; can import pages from existing PDFs as Form XObjects and place them on destination pages.&lt;/p&gt;&#10;&lt;h2 id="register-a-source"&gt;Register A Source&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceFile(&lt;span style="color:#a5d6ff"&gt;&amp;#39;/path/to/source.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// or: $sourceId = $pdf-&amp;gt;setImportSourceData($rawPdfBytes);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$count&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSourcePageCount(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;setImportSourceFile()&lt;/code&gt; reads the file through the same local path allowlist as other resources: the path must be inside one of the &lt;code&gt;allowedPaths&lt;/code&gt; file options (see &lt;a href="https://tcpdf.org/docs/remote-resources/"&gt;/docs/remote-resources/&lt;/a&gt;). A path outside the allowlist raises &lt;code&gt;ImportSourceNotFoundException&lt;/code&gt;, as a missing file does. &lt;code&gt;setImportSourceData()&lt;/code&gt; takes the bytes directly and performs no path check.&lt;/p&gt;</description></item><item><title>External Cache</title><link>https://tcpdf.org/docs/cache/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/cache/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; can reuse generated font subsets and processed images across &lt;code&gt;Tcpdf&lt;/code&gt; instances and PHP processes through an &lt;strong&gt;optional external cache&lt;/strong&gt; that you provide.&lt;/p&gt;&#10;&lt;p&gt;No cache backend is shipped: you implement an interface that bridges to your own store (filesystem, APCu, Redis, a &lt;abbr title="PHP Standard Recommendation 16"&gt;PSR-16&lt;/abbr&gt; cache, and so on). Caching is &lt;strong&gt;disabled by default&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;One cache instance is reused by every cacheable subsystem (font subsets and images), so a single backend, connection, and configuration serves them all.&lt;/p&gt;</description></item><item><title>Fonts</title><link>https://tcpdf.org/docs/fonts/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/fonts/</guid><description>&lt;p&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt; delegates font parsing, subsetting, embedding, and generated font data to &lt;code&gt;tc-lib-pdf-font&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="how-the-font-stack-is-split"&gt;How the Font Stack Is Split&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;tc-lib-pdf&lt;/code&gt;: document generation, text layout, and &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; output orchestration.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tc-lib-pdf-font&lt;/code&gt;: font loading, parsing, subsetting, embedding, and font data generation.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This package boundary keeps the core PDF engine focused and lets the font pipeline evolve independently.&lt;/p&gt;&#10;&lt;h2 id="supported-font-types"&gt;Supported Font Types&lt;/h2&gt;&#10;&lt;p&gt;The tc-lib ecosystem supports the major font classes expected in production PDF workflows:&lt;/p&gt;</description></item><item><title>AI Coding Assistants</title><link>https://tcpdf.org/docs/ai-assistants/</link><pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/ai-assistants/</guid><description>&lt;p&gt;Some of the readers of this documentation are language models writing code on someone&amp;rsquo;s behalf. This page collects what the project publishes for them, and what to tell an assistant so its output runs.&lt;/p&gt;&#10;&#10;&lt;div class="toc"&gt;&#10;&#9;&lt;h2&gt;Table of contents&lt;/h2&gt;&#10;&#9;&lt;nav id="TableOfContents"&gt;&#10; &lt;ul&gt;&#10; &lt;li&gt;&lt;a href="#machine-readable-indexes"&gt;Machine-Readable Indexes&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#what-models-get-wrong"&gt;What Models Get Wrong&lt;/a&gt;&#10; &lt;ul&gt;&#10; &lt;li&gt;&lt;a href="#method-mapping"&gt;Method Mapping&lt;/a&gt;&lt;/li&gt;&#10; &lt;/ul&gt;&#10; &lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#rules-worth-pinning"&gt;Rules Worth Pinning&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#prompt-snippets"&gt;Prompt Snippets&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#verifying-generated-code"&gt;Verifying Generated Code&lt;/a&gt;&lt;/li&gt;&#10; &lt;li&gt;&lt;a href="#failure-modes-specific-to-this-library"&gt;Failure Modes Specific to This Library&lt;/a&gt;&lt;/li&gt;&#10; &lt;/ul&gt;&#10;&lt;/nav&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 id="machine-readable-indexes"&gt;Machine-Readable Indexes&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://tcpdf.org/llms.txt"&gt;/llms.txt&lt;/a&gt;&lt;/strong&gt;: a condensed index of this site in the &lt;a href="https://llmstxt.org/" rel="nofollow"&gt;llms.txt&lt;/a&gt; format, with one entry per guide, per package, and per example group, so an assistant can find the right page without crawling the whole site.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/"&gt;/docs/srcdoc/&lt;/a&gt;&lt;/strong&gt;: the generated &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; reference for every class in every package, one page per class.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/strong&gt;: 95 runnable scripts, each page carrying a description, the rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;, and the PHP source at a stable &lt;code&gt;/files/examples/&lt;/code&gt; &lt;abbr title="Uniform Resource Locator"&gt;URL&lt;/abbr&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://tcpdf.org/features/"&gt;/features/&lt;/a&gt;&lt;/strong&gt;: the capability index, area by area.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Everything is plain &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; with no JavaScript required, and &lt;a href="https://tcpdf.org/robots.txt"&gt;robots.txt&lt;/a&gt; allows every crawler, retrieval agents included. The &lt;code&gt;.phps&lt;/code&gt; sources are served as plain text, so an assistant can fetch a whole example directly, for instance &lt;a href="https://tcpdf.org/files/examples/E006_minimal.phps"&gt;https://tcpdf.org/files/examples/E006_minimal.phps&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Free Software License</title><link>https://tcpdf.org/docs/license/</link><pubDate>Sat, 01 Jan 2005 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/license/</guid><description>&lt;pre&gt;&#10;**********************************************************************&#10;* LICENSE&#10;*&#10;* SOFTWARE : tc-lib-pdf&#10;* AUTHOR : Nicola Asuni &lt;info@tecnick.com&gt;&#10;* COPYRIGHT : 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;**********************************************************************&#10;&#10; This is free software: you can redistribute it and/or modify it&#10; under the terms of the GNU Lesser General Public License as&#10; published by the Free Software Foundation, either version 3 of the&#10; License, or (at your option) any later version.&#10;&#10;**********************************************************************&#10;**********************************************************************&#10;&#10; GNU LESSER GENERAL PUBLIC LICENSE&#10; Version 3, 29 June 2007&#10;&#10; Copyright (C) 2007 Free Software Foundation, Inc. &lt;https://www.fsf.org/&gt;&#10; Everyone is permitted to copy and distribute verbatim copies&#10; of this license document, but changing it is not allowed.&#10;&#10;&#10; This version of the GNU Lesser General Public License incorporates&#10;the terms and conditions of version 3 of the GNU General Public&#10;License, supplemented by the additional permissions listed below.&#10;&#10; 0. Additional Definitions.&#10;&#10; As used herein, "this License" refers to version 3 of the GNU Lesser&#10;General Public License, and the "GNU GPL" refers to version 3 of the GNU&#10;General Public License.&#10;&#10; "The Library" refers to a covered work governed by this License,&#10;other than an Application or a Combined Work as defined below.&#10;&#10; An "Application" is any work that makes use of an interface provided&#10;by the Library, but which is not otherwise based on the Library.&#10;Defining a subclass of a class defined by the Library is deemed a mode&#10;of using an interface provided by the Library.&#10;&#10; A "Combined Work" is a work produced by combining or linking an&#10;Application with the Library. The particular version of the Library&#10;with which the Combined Work was made is also called the "Linked&#10;Version".&#10;&#10; The "Minimal Corresponding Source" for a Combined Work means the&#10;Corresponding Source for the Combined Work, excluding any source code&#10;for portions of the Combined Work that, considered in isolation, are&#10;based on the Application, and not on the Linked Version.&#10;&#10; The "Corresponding Application Code" for a Combined Work means the&#10;object code and/or source code for the Application, including any data&#10;and utility programs needed for reproducing the Combined Work from the&#10;Application, but excluding the System Libraries of the Combined Work.&#10;&#10; 1. Exception to Section 3 of the GNU GPL.&#10;&#10; You may convey a covered work under sections 3 and 4 of this License&#10;without being bound by section 3 of the GNU GPL.&#10;&#10; 2. Conveying Modified Versions.&#10;&#10; If you modify a copy of the Library, and, in your modifications, a&#10;facility refers to a function or data to be supplied by an Application&#10;that uses the facility (other than as an argument passed when the&#10;facility is invoked), then you may convey a copy of the modified&#10;version:&#10;&#10; a) under this License, provided that you make a good faith effort to&#10; ensure that, in the event an Application does not supply the&#10; function or data, the facility still operates, and performs&#10; whatever part of its purpose remains meaningful, or&#10;&#10; b) under the GNU GPL, with none of the additional permissions of&#10; this License applicable to that copy.&#10;&#10; 3. Object Code Incorporating Material from Library Header Files.&#10;&#10; The object code form of an Application may incorporate material from&#10;a header file that is part of the Library. You may convey such object&#10;code under terms of your choice, provided that, if the incorporated&#10;material is not limited to numerical parameters, data structure&#10;layouts and accessors, or small macros, inline functions and templates&#10;(ten or fewer lines in length), you do both of the following:&#10;&#10; a) Give prominent notice with each copy of the object code that the&#10; Library is used in it and that the Library and its use are&#10; covered by this License.&#10;&#10; b) Accompany the object code with a copy of the GNU GPL and this license&#10; document.&#10;&#10; 4. Combined Works.&#10;&#10; You may convey a Combined Work under terms of your choice that,&#10;taken together, effectively do not restrict modification of the&#10;portions of the Library contained in the Combined Work and reverse&#10;engineering for debugging such modifications, if you also do each of&#10;the following:&#10;&#10; a) Give prominent notice with each copy of the Combined Work that&#10; the Library is used in it and that the Library and its use are&#10; covered by this License.&#10;&#10; b) Accompany the Combined Work with a copy of the GNU GPL and this license&#10; document.&#10;&#10; c) For a Combined Work that displays copyright notices during&#10; execution, include the copyright notice for the Library among&#10; these notices, as well as a reference directing the user to the&#10; copies of the GNU GPL and this license document.&#10;&#10; d) Do one of the following:&#10;&#10; 0) Convey the Minimal Corresponding Source under the terms of this&#10; License, and the Corresponding Application Code in a form&#10; suitable for, and under terms that permit, the user to&#10; recombine or relink the Application with a modified version of&#10; the Linked Version to produce a modified Combined Work, in the&#10; manner specified by section 6 of the GNU GPL for conveying&#10; Corresponding Source.&#10;&#10; 1) Use a suitable shared library mechanism for linking with the&#10; Library. A suitable mechanism is one that (a) uses at run time&#10; a copy of the Library already present on the user's computer&#10; system, and (b) will operate properly with a modified version&#10; of the Library that is interface-compatible with the Linked&#10; Version.&#10;&#10; e) Provide Installation Information, but only if you would otherwise&#10; be required to provide such information under section 6 of the&#10; GNU GPL, and only to the extent that such information is&#10; necessary to install and execute a modified version of the&#10; Combined Work produced by recombining or relinking the&#10; Application with a modified version of the Linked Version. (If&#10; you use option 4d0, the Installation Information must accompany&#10; the Minimal Corresponding Source and Corresponding Application&#10; Code. If you use option 4d1, you must provide the Installation&#10; Information in the manner specified by section 6 of the GNU GPL&#10; for conveying Corresponding Source.)&#10;&#10; 5. Combined Libraries.&#10;&#10; You may place library facilities that are a work based on the&#10;Library side by side in a single library together with other library&#10;facilities that are not Applications and are not covered by this&#10;License, and convey such a combined library under terms of your&#10;choice, if you do both of the following:&#10;&#10; a) Accompany the combined library with a copy of the same work based&#10; on the Library, uncombined with any other library facilities,&#10; conveyed under the terms of this License.&#10;&#10; b) Give prominent notice with the combined library that part of it&#10; is a work based on the Library, and explaining where to find the&#10; accompanying uncombined form of the same work.&#10;&#10; 6. Revised Versions of the GNU Lesser General Public License.&#10;&#10; The Free Software Foundation may publish revised and/or new versions&#10;of the GNU Lesser General Public License from time to time. Such new&#10;versions will be similar in spirit to the present version, but may&#10;differ in detail to address new problems or concerns.&#10;&#10; Each version is given a distinguishing version number. If the&#10;Library as you received it specifies that a certain numbered version&#10;of the GNU Lesser General Public License "or any later version"&#10;applies to it, you have the option of following the terms and&#10;conditions either of that published version or of any later version&#10;published by the Free Software Foundation. If the Library as you&#10;received it does not specify a version number of the GNU Lesser&#10;General Public License, you may choose any version of the GNU Lesser&#10;General Public License ever published by the Free Software Foundation.&#10;&#10; If the Library as you received it specifies that a proxy can decide&#10;whether future versions of the GNU Lesser General Public License shall&#10;apply, that proxy's public statement of acceptance of any version is&#10;permanent authorization for you to choose that version for the&#10;Library.&#10;&#10;**********************************************************************&#10;**********************************************************************&#10;&#10; GNU GENERAL PUBLIC LICENSE&#10; Version 3, 29 June 2007&#10;&#10; Copyright (C) 2007 Free Software Foundation, Inc. &lt;https://www.fsf.org/&gt;&#10; Everyone is permitted to copy and distribute verbatim copies&#10; of this license document, but changing it is not allowed.&#10;&#10; Preamble&#10;&#10; The GNU General Public License is a free, copyleft license for&#10;software and other kinds of works.&#10;&#10; The licenses for most software and other practical works are designed&#10;to take away your freedom to share and change the works. By contrast,&#10;the GNU General Public License is intended to guarantee your freedom to&#10;share and change all versions of a program--to make sure it remains free&#10;software for all its users. We, the Free Software Foundation, use the&#10;GNU General Public License for most of our software; it applies also to&#10;any other work released this way by its authors. You can apply it to&#10;your programs, too.&#10;&#10; When we speak of free software, we are referring to freedom, not&#10;price. Our General Public Licenses are designed to make sure that you&#10;have the freedom to distribute copies of free software (and charge for&#10;them if you wish), that you receive source code or can get it if you&#10;want it, that you can change the software or use pieces of it in new&#10;free programs, and that you know you can do these things.&#10;&#10; To protect your rights, we need to prevent others from denying you&#10;these rights or asking you to surrender the rights. Therefore, you have&#10;certain responsibilities if you distribute copies of the software, or if&#10;you modify it: responsibilities to respect the freedom of others.&#10;&#10; For example, if you distribute copies of such a program, whether&#10;gratis or for a fee, you must pass on to the recipients the same&#10;freedoms that you received. You must make sure that they, too, receive&#10;or can get the source code. And you must show them these terms so they&#10;know their rights.&#10;&#10; Developers that use the GNU GPL protect your rights with two steps:&#10;(1) assert copyright on the software, and (2) offer you this License&#10;giving you legal permission to copy, distribute and/or modify it.&#10;&#10; For the developers' and authors' protection, the GPL clearly explains&#10;that there is no warranty for this free software. For both users' and&#10;authors' sake, the GPL requires that modified versions be marked as&#10;changed, so that their problems will not be attributed erroneously to&#10;authors of previous versions.&#10;&#10; Some devices are designed to deny users access to install or run&#10;modified versions of the software inside them, although the manufacturer&#10;can do so. This is fundamentally incompatible with the aim of&#10;protecting users' freedom to change the software. The systematic&#10;pattern of such abuse occurs in the area of products for individuals to&#10;use, which is precisely where it is most unacceptable. Therefore, we&#10;have designed this version of the GPL to prohibit the practice for those&#10;products. If such problems arise substantially in other domains, we&#10;stand ready to extend this provision to those domains in future versions&#10;of the GPL, as needed to protect the freedom of users.&#10;&#10; Finally, every program is threatened constantly by software patents.&#10;States should not allow patents to restrict development and use of&#10;software on general-purpose computers, but in those that do, we wish to&#10;avoid the special danger that patents applied to a free program could&#10;make it effectively proprietary. To prevent this, the GPL assures that&#10;patents cannot be used to render the program non-free.&#10;&#10; The precise terms and conditions for copying, distribution and&#10;modification follow.&#10;&#10; TERMS AND CONDITIONS&#10;&#10; 0. Definitions.&#10;&#10; "This License" refers to version 3 of the GNU General Public License.&#10;&#10; "Copyright" also means copyright-like laws that apply to other kinds of&#10;works, such as semiconductor masks.&#10;&#10; "The Program" refers to any copyrightable work licensed under this&#10;License. Each licensee is addressed as "you". "Licensees" and&#10;"recipients" may be individuals or organizations.&#10;&#10; To "modify" a work means to copy from or adapt all or part of the work&#10;in a fashion requiring copyright permission, other than the making of an&#10;exact copy. The resulting work is called a "modified version" of the&#10;earlier work or a work "based on" the earlier work.&#10;&#10; A "covered work" means either the unmodified Program or a work based&#10;on the Program.&#10;&#10; To "propagate" a work means to do anything with it that, without&#10;permission, would make you directly or secondarily liable for&#10;infringement under applicable copyright law, except executing it on a&#10;computer or modifying a private copy. Propagation includes copying,&#10;distribution (with or without modification), making available to the&#10;public, and in some countries other activities as well.&#10;&#10; To "convey" a work means any kind of propagation that enables other&#10;parties to make or receive copies. Mere interaction with a user through&#10;a computer network, with no transfer of a copy, is not conveying.&#10;&#10; An interactive user interface displays "Appropriate Legal Notices"&#10;to the extent that it includes a convenient and prominently visible&#10;feature that (1) displays an appropriate copyright notice, and (2)&#10;tells the user that there is no warranty for the work (except to the&#10;extent that warranties are provided), that licensees may convey the&#10;work under this License, and how to view a copy of this License. If&#10;the interface presents a list of user commands or options, such as a&#10;menu, a prominent item in the list meets this criterion.&#10;&#10; 1. Source Code.&#10;&#10; The "source code" for a work means the preferred form of the work&#10;for making modifications to it. "Object code" means any non-source&#10;form of a work.&#10;&#10; A "Standard Interface" means an interface that either is an official&#10;standard defined by a recognized standards body, or, in the case of&#10;interfaces specified for a particular programming language, one that&#10;is widely used among developers working in that language.&#10;&#10; The "System Libraries" of an executable work include anything, other&#10;than the work as a whole, that (a) is included in the normal form of&#10;packaging a Major Component, but which is not part of that Major&#10;Component, and (b) serves only to enable use of the work with that&#10;Major Component, or to implement a Standard Interface for which an&#10;implementation is available to the public in source code form. A&#10;"Major Component", in this context, means a major essential component&#10;(kernel, window system, and so on) of the specific operating system&#10;(if any) on which the executable work runs, or a compiler used to&#10;produce the work, or an object code interpreter used to run it.&#10;&#10; The "Corresponding Source" for a work in object code form means all&#10;the source code needed to generate, install, and (for an executable&#10;work) run the object code and to modify the work, including scripts to&#10;control those activities. However, it does not include the work's&#10;System Libraries, or general-purpose tools or generally available free&#10;programs which are used unmodified in performing those activities but&#10;which are not part of the work. For example, Corresponding Source&#10;includes interface definition files associated with source files for&#10;the work, and the source code for shared libraries and dynamically&#10;linked subprograms that the work is specifically designed to require,&#10;such as by intimate data communication or control flow between those&#10;subprograms and other parts of the work.&#10;&#10; The Corresponding Source need not include anything that users&#10;can regenerate automatically from other parts of the Corresponding&#10;Source.&#10;&#10; The Corresponding Source for a work in source code form is that&#10;same work.&#10;&#10; 2. Basic Permissions.&#10;&#10; All rights granted under this License are granted for the term of&#10;copyright on the Program, and are irrevocable provided the stated&#10;conditions are met. This License explicitly affirms your unlimited&#10;permission to run the unmodified Program. The output from running a&#10;covered work is covered by this License only if the output, given its&#10;content, constitutes a covered work. This License acknowledges your&#10;rights of fair use or other equivalent, as provided by copyright law.&#10;&#10; You may make, run and propagate covered works that you do not&#10;convey, without conditions so long as your license otherwise remains&#10;in force. You may convey covered works to others for the sole purpose&#10;of having them make modifications exclusively for you, or provide you&#10;with facilities for running those works, provided that you comply with&#10;the terms of this License in conveying all material for which you do&#10;not control copyright. Those thus making or running the covered works&#10;for you must do so exclusively on your behalf, under your direction&#10;and control, on terms that prohibit them from making any copies of&#10;your copyrighted material outside their relationship with you.&#10;&#10; Conveying under any other circumstances is permitted solely under&#10;the conditions stated below. Sublicensing is not allowed; section 10&#10;makes it unnecessary.&#10;&#10; 3. Protecting Users' Legal Rights From Anti-Circumvention Law.&#10;&#10; No covered work shall be deemed part of an effective technological&#10;measure under any applicable law fulfilling obligations under article&#10;11 of the WIPO copyright treaty adopted on 20 December 1996, or&#10;similar laws prohibiting or restricting circumvention of such&#10;measures.&#10;&#10; When you convey a covered work, you waive any legal power to forbid&#10;circumvention of technological measures to the extent such circumvention&#10;is effected by exercising rights under this License with respect to&#10;the covered work, and you disclaim any intention to limit operation or&#10;modification of the work as a means of enforcing, against the work's&#10;users, your or third parties' legal rights to forbid circumvention of&#10;technological measures.&#10;&#10; 4. Conveying Verbatim Copies.&#10;&#10; You may convey verbatim copies of the Program's source code as you&#10;receive it, in any medium, provided that you conspicuously and&#10;appropriately publish on each copy an appropriate copyright notice;&#10;keep intact all notices stating that this License and any&#10;non-permissive terms added in accord with section 7 apply to the code;&#10;keep intact all notices of the absence of any warranty; and give all&#10;recipients a copy of this License along with the Program.&#10;&#10; You may charge any price or no price for each copy that you convey,&#10;and you may offer support or warranty protection for a fee.&#10;&#10; 5. Conveying Modified Source Versions.&#10;&#10; You may convey a work based on the Program, or the modifications to&#10;produce it from the Program, in the form of source code under the&#10;terms of section 4, provided that you also meet all of these conditions:&#10;&#10; a) The work must carry prominent notices stating that you modified&#10; it, and giving a relevant date.&#10;&#10; b) The work must carry prominent notices stating that it is&#10; released under this License and any conditions added under section&#10; 7. This requirement modifies the requirement in section 4 to&#10; "keep intact all notices".&#10;&#10; c) You must license the entire work, as a whole, under this&#10; License to anyone who comes into possession of a copy. This&#10; License will therefore apply, along with any applicable section 7&#10; additional terms, to the whole of the work, and all its parts,&#10; regardless of how they are packaged. This License gives no&#10; permission to license the work in any other way, but it does not&#10; invalidate such permission if you have separately received it.&#10;&#10; d) If the work has interactive user interfaces, each must display&#10; Appropriate Legal Notices; however, if the Program has interactive&#10; interfaces that do not display Appropriate Legal Notices, your&#10; work need not make them do so.&#10;&#10; A compilation of a covered work with other separate and independent&#10;works, which are not by their nature extensions of the covered work,&#10;and which are not combined with it such as to form a larger program,&#10;in or on a volume of a storage or distribution medium, is called an&#10;"aggregate" if the compilation and its resulting copyright are not&#10;used to limit the access or legal rights of the compilation's users&#10;beyond what the individual works permit. Inclusion of a covered work&#10;in an aggregate does not cause this License to apply to the other&#10;parts of the aggregate.&#10;&#10; 6. Conveying Non-Source Forms.&#10;&#10; You may convey a covered work in object code form under the terms&#10;of sections 4 and 5, provided that you also convey the&#10;machine-readable Corresponding Source under the terms of this License,&#10;in one of these ways:&#10;&#10; a) Convey the object code in, or embodied in, a physical product&#10; (including a physical distribution medium), accompanied by the&#10; Corresponding Source fixed on a durable physical medium&#10; customarily used for software interchange.&#10;&#10; b) Convey the object code in, or embodied in, a physical product&#10; (including a physical distribution medium), accompanied by a&#10; written offer, valid for at least three years and valid for as&#10; long as you offer spare parts or customer support for that product&#10; model, to give anyone who possesses the object code either (1) a&#10; copy of the Corresponding Source for all the software in the&#10; product that is covered by this License, on a durable physical&#10; medium customarily used for software interchange, for a price no&#10; more than your reasonable cost of physically performing this&#10; conveying of source, or (2) access to copy the&#10; Corresponding Source from a network server at no charge.&#10;&#10; c) Convey individual copies of the object code with a copy of the&#10; written offer to provide the Corresponding Source. This&#10; alternative is allowed only occasionally and noncommercially, and&#10; only if you received the object code with such an offer, in accord&#10; with subsection 6b.&#10;&#10; d) Convey the object code by offering access from a designated&#10; place (gratis or for a charge), and offer equivalent access to the&#10; Corresponding Source in the same way through the same place at no&#10; further charge. You need not require recipients to copy the&#10; Corresponding Source along with the object code. If the place to&#10; copy the object code is a network server, the Corresponding Source&#10; may be on a different server (operated by you or a third party)&#10; that supports equivalent copying facilities, provided you maintain&#10; clear directions next to the object code saying where to find the&#10; Corresponding Source. Regardless of what server hosts the&#10; Corresponding Source, you remain obligated to ensure that it is&#10; available for as long as needed to satisfy these requirements.&#10;&#10; e) Convey the object code using peer-to-peer transmission, provided&#10; you inform other peers where the object code and Corresponding&#10; Source of the work are being offered to the general public at no&#10; charge under subsection 6d.&#10;&#10; A separable portion of the object code, whose source code is excluded&#10;from the Corresponding Source as a System Library, need not be&#10;included in conveying the object code work.&#10;&#10; A "User Product" is either (1) a "consumer product", which means any&#10;tangible personal property which is normally used for personal, family,&#10;or household purposes, or (2) anything designed or sold for incorporation&#10;into a dwelling. In determining whether a product is a consumer product,&#10;doubtful cases shall be resolved in favor of coverage. For a particular&#10;product received by a particular user, "normally used" refers to a&#10;typical or common use of that class of product, regardless of the status&#10;of the particular user or of the way in which the particular user&#10;actually uses, or expects or is expected to use, the product. A product&#10;is a consumer product regardless of whether the product has substantial&#10;commercial, industrial or non-consumer uses, unless such uses represent&#10;the only significant mode of use of the product.&#10;&#10; "Installation Information" for a User Product means any methods,&#10;procedures, authorization keys, or other information required to install&#10;and execute modified versions of a covered work in that User Product from&#10;a modified version of its Corresponding Source. The information must&#10;suffice to ensure that the continued functioning of the modified object&#10;code is in no case prevented or interfered with solely because&#10;modification has been made.&#10;&#10; If you convey an object code work under this section in, or with, or&#10;specifically for use in, a User Product, and the conveying occurs as&#10;part of a transaction in which the right of possession and use of the&#10;User Product is transferred to the recipient in perpetuity or for a&#10;fixed term (regardless of how the transaction is characterized), the&#10;Corresponding Source conveyed under this section must be accompanied&#10;by the Installation Information. But this requirement does not apply&#10;if neither you nor any third party retains the ability to install&#10;modified object code on the User Product (for example, the work has&#10;been installed in ROM).&#10;&#10; The requirement to provide Installation Information does not include a&#10;requirement to continue to provide support service, warranty, or updates&#10;for a work that has been modified or installed by the recipient, or for&#10;the User Product in which it has been modified or installed. Access to a&#10;network may be denied when the modification itself materially and&#10;adversely affects the operation of the network or violates the rules and&#10;protocols for communication across the network.&#10;&#10; Corresponding Source conveyed, and Installation Information provided,&#10;in accord with this section must be in a format that is publicly&#10;documented (and with an implementation available to the public in&#10;source code form), and must require no special password or key for&#10;unpacking, reading or copying.&#10;&#10; 7. Additional Terms.&#10;&#10; "Additional permissions" are terms that supplement the terms of this&#10;License by making exceptions from one or more of its conditions.&#10;Additional permissions that are applicable to the entire Program shall&#10;be treated as though they were included in this License, to the extent&#10;that they are valid under applicable law. If additional permissions&#10;apply only to part of the Program, that part may be used separately&#10;under those permissions, but the entire Program remains governed by&#10;this License without regard to the additional permissions.&#10;&#10; When you convey a copy of a covered work, you may at your option&#10;remove any additional permissions from that copy, or from any part of&#10;it. (Additional permissions may be written to require their own&#10;removal in certain cases when you modify the work.) You may place&#10;additional permissions on material, added by you to a covered work,&#10;for which you have or can give appropriate copyright permission.&#10;&#10; Notwithstanding any other provision of this License, for material you&#10;add to a covered work, you may (if authorized by the copyright holders of&#10;that material) supplement the terms of this License with terms:&#10;&#10; a) Disclaiming warranty or limiting liability differently from the&#10; terms of sections 15 and 16 of this License; or&#10;&#10; b) Requiring preservation of specified reasonable legal notices or&#10; author attributions in that material or in the Appropriate Legal&#10; Notices displayed by works containing it; or&#10;&#10; c) Prohibiting misrepresentation of the origin of that material, or&#10; requiring that modified versions of such material be marked in&#10; reasonable ways as different from the original version; or&#10;&#10; d) Limiting the use for publicity purposes of names of licensors or&#10; authors of the material; or&#10;&#10; e) Declining to grant rights under trademark law for use of some&#10; trade names, trademarks, or service marks; or&#10;&#10; f) Requiring indemnification of licensors and authors of that&#10; material by anyone who conveys the material (or modified versions of&#10; it) with contractual assumptions of liability to the recipient, for&#10; any liability that these contractual assumptions directly impose on&#10; those licensors and authors.&#10;&#10; All other non-permissive additional terms are considered "further&#10;restrictions" within the meaning of section 10. If the Program as you&#10;received it, or any part of it, contains a notice stating that it is&#10;governed by this License along with a term that is a further&#10;restriction, you may remove that term. If a license document contains&#10;a further restriction but permits relicensing or conveying under this&#10;License, you may add to a covered work material governed by the terms&#10;of that license document, provided that the further restriction does&#10;not survive such relicensing or conveying.&#10;&#10; If you add terms to a covered work in accord with this section, you&#10;must place, in the relevant source files, a statement of the&#10;additional terms that apply to those files, or a notice indicating&#10;where to find the applicable terms.&#10;&#10; Additional terms, permissive or non-permissive, may be stated in the&#10;form of a separately written license, or stated as exceptions;&#10;the above requirements apply either way.&#10;&#10; 8. Termination.&#10;&#10; You may not propagate or modify a covered work except as expressly&#10;provided under this License. Any attempt otherwise to propagate or&#10;modify it is void, and will automatically terminate your rights under&#10;this License (including any patent licenses granted under the third&#10;paragraph of section 11).&#10;&#10; However, if you cease all violation of this License, then your&#10;license from a particular copyright holder is reinstated (a)&#10;provisionally, unless and until the copyright holder explicitly and&#10;finally terminates your license, and (b) permanently, if the copyright&#10;holder fails to notify you of the violation by some reasonable means&#10;prior to 60 days after the cessation.&#10;&#10; Moreover, your license from a particular copyright holder is&#10;reinstated permanently if the copyright holder notifies you of the&#10;violation by some reasonable means, this is the first time you have&#10;received notice of violation of this License (for any work) from that&#10;copyright holder, and you cure the violation prior to 30 days after&#10;your receipt of the notice.&#10;&#10; Termination of your rights under this section does not terminate the&#10;licenses of parties who have received copies or rights from you under&#10;this License. If your rights have been terminated and not permanently&#10;reinstated, you do not qualify to receive new licenses for the same&#10;material under section 10.&#10;&#10; 9. Acceptance Not Required for Having Copies.&#10;&#10; You are not required to accept this License in order to receive or&#10;run a copy of the Program. Ancillary propagation of a covered work&#10;occurring solely as a consequence of using peer-to-peer transmission&#10;to receive a copy likewise does not require acceptance. However,&#10;nothing other than this License grants you permission to propagate or&#10;modify any covered work. These actions infringe copyright if you do&#10;not accept this License. Therefore, by modifying or propagating a&#10;covered work, you indicate your acceptance of this License to do so.&#10;&#10; 10. Automatic Licensing of Downstream Recipients.&#10;&#10; Each time you convey a covered work, the recipient automatically&#10;receives a license from the original licensors, to run, modify and&#10;propagate that work, subject to this License. You are not responsible&#10;for enforcing compliance by third parties with this License.&#10;&#10; An "entity transaction" is a transaction transferring control of an&#10;organization, or substantially all assets of one, or subdividing an&#10;organization, or merging organizations. If propagation of a covered&#10;work results from an entity transaction, each party to that&#10;transaction who receives a copy of the work also receives whatever&#10;licenses to the work the party's predecessor in interest had or could&#10;give under the previous paragraph, plus a right to possession of the&#10;Corresponding Source of the work from the predecessor in interest, if&#10;the predecessor has it or can get it with reasonable efforts.&#10;&#10; You may not impose any further restrictions on the exercise of the&#10;rights granted or affirmed under this License. For example, you may&#10;not impose a license fee, royalty, or other charge for exercise of&#10;rights granted under this License, and you may not initiate litigation&#10;(including a cross-claim or counterclaim in a lawsuit) alleging that&#10;any patent claim is infringed by making, using, selling, offering for&#10;sale, or importing the Program or any portion of it.&#10;&#10; 11. Patents.&#10;&#10; A "contributor" is a copyright holder who authorizes use under this&#10;License of the Program or a work on which the Program is based. The&#10;work thus licensed is called the contributor's "contributor version".&#10;&#10; A contributor's "essential patent claims" are all patent claims&#10;owned or controlled by the contributor, whether already acquired or&#10;hereafter acquired, that would be infringed by some manner, permitted&#10;by this License, of making, using, or selling its contributor version,&#10;but do not include claims that would be infringed only as a&#10;consequence of further modification of the contributor version. For&#10;purposes of this definition, "control" includes the right to grant&#10;patent sublicenses in a manner consistent with the requirements of&#10;this License.&#10;&#10; Each contributor grants you a non-exclusive, worldwide, royalty-free&#10;patent license under the contributor's essential patent claims, to&#10;make, use, sell, offer for sale, import and otherwise run, modify and&#10;propagate the contents of its contributor version.&#10;&#10; In the following three paragraphs, a "patent license" is any express&#10;agreement or commitment, however denominated, not to enforce a patent&#10;(such as an express permission to practice a patent or covenant not to&#10;sue for patent infringement). To "grant" such a patent license to a&#10;party means to make such an agreement or commitment not to enforce a&#10;patent against the party.&#10;&#10; If you convey a covered work, knowingly relying on a patent license,&#10;and the Corresponding Source of the work is not available for anyone&#10;to copy, free of charge and under the terms of this License, through a&#10;publicly available network server or other readily accessible means,&#10;then you must either (1) cause the Corresponding Source to be so&#10;available, or (2) arrange to deprive yourself of the benefit of the&#10;patent license for this particular work, or (3) arrange, in a manner&#10;consistent with the requirements of this License, to extend the patent&#10;license to downstream recipients. "Knowingly relying" means you have&#10;actual knowledge that, but for the patent license, your conveying the&#10;covered work in a country, or your recipient's use of the covered work&#10;in a country, would infringe one or more identifiable patents in that&#10;country that you have reason to believe are valid.&#10;&#10; If, pursuant to or in connection with a single transaction or&#10;arrangement, you convey, or propagate by procuring conveyance of, a&#10;covered work, and grant a patent license to some of the parties&#10;receiving the covered work authorizing them to use, propagate, modify&#10;or convey a specific copy of the covered work, then the patent license&#10;you grant is automatically extended to all recipients of the covered&#10;work and works based on it.&#10;&#10; A patent license is "discriminatory" if it does not include within&#10;the scope of its coverage, prohibits the exercise of, or is&#10;conditioned on the non-exercise of one or more of the rights that are&#10;specifically granted under this License. You may not convey a covered&#10;work if you are a party to an arrangement with a third party that is&#10;in the business of distributing software, under which you make payment&#10;to the third party based on the extent of your activity of conveying&#10;the work, and under which the third party grants, to any of the&#10;parties who would receive the covered work from you, a discriminatory&#10;patent license (a) in connection with copies of the covered work&#10;conveyed by you (or copies made from those copies), or (b) primarily&#10;for and in connection with specific products or compilations that&#10;contain the covered work, unless you entered into that arrangement,&#10;or that patent license was granted, prior to 28 March 2007.&#10;&#10; Nothing in this License shall be construed as excluding or limiting&#10;any implied license or other defenses to infringement that may&#10;otherwise be available to you under applicable patent law.&#10;&#10; 12. No Surrender of Others' Freedom.&#10;&#10; If conditions are imposed on you (whether by court order, agreement or&#10;otherwise) that contradict the conditions of this License, they do not&#10;excuse you from the conditions of this License. If you cannot convey a&#10;covered work so as to satisfy simultaneously your obligations under this&#10;License and any other pertinent obligations, then as a consequence you may&#10;not convey it at all. For example, if you agree to terms that obligate you&#10;to collect a royalty for further conveying from those to whom you convey&#10;the Program, the only way you could satisfy both those terms and this&#10;License would be to refrain entirely from conveying the Program.&#10;&#10; 13. Use with the GNU Affero General Public License.&#10;&#10; Notwithstanding any other provision of this License, you have&#10;permission to link or combine any covered work with a work licensed&#10;under version 3 of the GNU Affero General Public License into a single&#10;combined work, and to convey the resulting work. The terms of this&#10;License will continue to apply to the part which is the covered work,&#10;but the special requirements of the GNU Affero General Public License,&#10;section 13, concerning interaction through a network will apply to the&#10;combination as such.&#10;&#10; 14. Revised Versions of this License.&#10;&#10; The Free Software Foundation may publish revised and/or new versions of&#10;the GNU General Public License from time to time. Such new versions will&#10;be similar in spirit to the present version, but may differ in detail to&#10;address new problems or concerns.&#10;&#10; Each version is given a distinguishing version number. If the&#10;Program specifies that a certain numbered version of the GNU General&#10;Public License "or any later version" applies to it, you have the&#10;option of following the terms and conditions either of that numbered&#10;version or of any later version published by the Free Software&#10;Foundation. If the Program does not specify a version number of the&#10;GNU General Public License, you may choose any version ever published&#10;by the Free Software Foundation.&#10;&#10; If the Program specifies that a proxy can decide which future&#10;versions of the GNU General Public License can be used, that proxy's&#10;public statement of acceptance of a version permanently authorizes you&#10;to choose that version for the Program.&#10;&#10; Later license versions may give you additional or different&#10;permissions. However, no additional obligations are imposed on any&#10;author or copyright holder as a result of your choosing to follow a&#10;later version.&#10;&#10; 15. Disclaimer of Warranty.&#10;&#10; THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY&#10;APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT&#10;HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY&#10;OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,&#10;THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&#10;PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM&#10;IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF&#10;ALL NECESSARY SERVICING, REPAIR OR CORRECTION.&#10;&#10; 16. Limitation of Liability.&#10;&#10; IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING&#10;WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS&#10;THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY&#10;GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE&#10;USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF&#10;DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD&#10;PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),&#10;EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF&#10;SUCH DAMAGES.&#10;&#10; 17. Interpretation of Sections 15 and 16.&#10;&#10; If the disclaimer of warranty and limitation of liability provided&#10;above cannot be given local legal effect according to their terms,&#10;reviewing courts shall apply local law that most closely approximates&#10;an absolute waiver of all civil liability in connection with the&#10;Program, unless a warranty or assumption of liability accompanies a&#10;copy of the Program in return for a fee.&#10;&#10; END OF TERMS AND CONDITIONS&#10;&#10; How to Apply These Terms to Your New Programs&#10;&#10; If you develop a new program, and you want it to be of the greatest&#10;possible use to the public, the best way to achieve this is to make it&#10;free software which everyone can redistribute and change under these terms.&#10;&#10; To do so, attach the following notices to the program. It is safest&#10;to attach them to the start of each source file to most effectively&#10;state the exclusion of warranty; and each file should have at least&#10;the "copyright" line and a pointer to where the full notice is found.&#10;&#10; &lt;one line to give the program's name and a brief idea of what it does.&gt;&#10; Copyright (C) &lt;year&gt; &lt;name of author&gt;&#10;&#10; This program is free software: you can redistribute it and/or modify&#10; it under the terms of the GNU General Public License as published by&#10; the Free Software Foundation, either version 3 of the License, or&#10; (at your option) any later version.&#10;&#10; This program is distributed in the hope that it will be useful,&#10; but WITHOUT ANY WARRANTY; without even the implied warranty of&#10; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#10; GNU General Public License for more details.&#10;&#10; You should have received a copy of the GNU General Public License&#10; along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;.&#10;&#10;Also add information on how to contact you by electronic and paper mail.&#10;&#10; If the program does terminal interaction, make it output a short&#10;notice like this when it starts in an interactive mode:&#10;&#10; &lt;program&gt; Copyright (C) &lt;year&gt; &lt;name of author&gt;&#10; This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.&#10; This is free software, and you are welcome to redistribute it&#10; under certain conditions; type `show c' for details.&#10;&#10;The hypothetical commands `show w' and `show c' should show the appropriate&#10;parts of the General Public License. Of course, your program's commands&#10;might be different; for a GUI interface, you would use an "about box".&#10;&#10; You should also get your employer (if you work as a programmer) or school,&#10;if any, to sign a "copyright disclaimer" for the program, if necessary.&#10;For more information on this, and how to apply and follow the GNU GPL, see&#10;&lt;https://www.gnu.org/licenses/&gt;.&#10;&#10; The GNU General Public License does not permit incorporating your program&#10;into proprietary programs. If your program is a subroutine library, you&#10;may consider it more useful to permit linking proprietary applications with&#10;the library. If this is what you want to do, use the GNU Lesser General&#10;Public License instead of this License. But first, please read&#10;&lt;https://www.gnu.org/philosophy/why-not-lgpl.html&gt;.&#10;&#10;**********************************************************************&#10;**********************************************************************&#10;&lt;/pre&gt;</description></item><item><title>Source Code Documentation</title><link>https://tcpdf.org/docs/srcdoc/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/</guid><description>&lt;p&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; reference generated from the source of each package: one page per class, listing its namespace, methods, parameters, and inherited members.&lt;/p&gt;&#10;&lt;p&gt;For narrative documentation, start from &lt;a href="https://tcpdf.org/docs/"&gt;/docs/&lt;/a&gt;. For working code, start from &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="packages"&gt;Packages&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/"&gt;tc-lib-pdf&lt;/a&gt; : the top-level document API, &lt;code&gt;\Com\Tecnick\Pdf&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/"&gt;tc-lib-pdf-page&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Page&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/"&gt;tc-lib-pdf-graph&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Graph&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/"&gt;tc-lib-pdf-font&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Font&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/"&gt;tc-lib-pdf-image&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Image&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/"&gt;tc-lib-pdf-parser&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Parser&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/"&gt;tc-lib-pdf-filter&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Filter&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/"&gt;tc-lib-pdf-encrypt&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Encrypt&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/"&gt;tc-lib-pdf-sign&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Pdf\Sign&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/"&gt;tc-lib-color&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Color&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Barcode&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/"&gt;tc-lib-unicode&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Unicode&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/"&gt;tc-lib-unicode-data&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\Unicode\Data&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/"&gt;tc-lib-file&lt;/a&gt; : &lt;code&gt;\Com\Tecnick\File&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="legacy"&gt;Legacy&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/TCPDF/"&gt;TCPDF&lt;/a&gt; : the deprecated single-class library, kept online for projects still running it. New projects should use &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf"&gt;tc-lib-pdf&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-barcode</title><link>https://tcpdf.org/projects/tc-lib-barcode/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-barcode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-barcode&lt;/strong&gt; is a pure-PHP barcode generation library for industrial, retail, logistics, and document automation workflows.&lt;/p&gt;&#10;&lt;p&gt;Encoding follows the published specification for each symbology, and the result comes back as a bar grid you can render however the target needs: &lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt; or &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; operators for print, &lt;abbr title="Portable Network Graphics"&gt;PNG&lt;/abbr&gt; for a web preview. Coverage spans 73 formats across the linear, 2D, and postal families, including the GS1 DataBar and GS1-128 sets, the &lt;abbr title="Health Industry Bar Code"&gt;HIBC&lt;/abbr&gt; health industry profiles, the Chinese Han Xin Code, and the national postal symbologies of the United States, the United Kingdom, Germany, the Netherlands, Japan, and Australia.&lt;/p&gt;</description></item><item><title>tc-lib-color</title><link>https://tcpdf.org/projects/tc-lib-color/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-color/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-color&lt;/strong&gt; provides parsing, conversion, and formatting of color values for web and &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; rendering pipelines.&lt;/p&gt;&#10;&lt;p&gt;One normalization layer covers &lt;abbr title="Red, Green, Blue"&gt;RGB&lt;/abbr&gt;, &lt;abbr title="Cyan, Magenta, Yellow, Key"&gt;CMYK&lt;/abbr&gt;, &lt;abbr title="Hue, Saturation, Lightness"&gt;HSL&lt;/abbr&gt;, grayscale, Lab, and spot colors, in both their &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; and their PDF representations. Conversions written ad hoc in three places tend to round differently in all three; here they do not.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-color"&gt;https://github.com/tecnickcom/tc-lib-color&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-color&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-color"&gt;https://packagist.org/packages/tecnickcom/tc-lib-color&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Color&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-color&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Use this package whenever rendering needs explicit color conversions and repeatable output across digital and print contexts.&#10;It is a direct dependency of &lt;code&gt;tecnickcom/tc-lib-pdf&lt;/code&gt; and is used internally for all color operations during PDF composition.&lt;/p&gt;</description></item><item><title>tc-lib-file</title><link>https://tcpdf.org/projects/tc-lib-file/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-file/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-file&lt;/strong&gt; provides low-level file access and byte-reading primitives used by higher-level &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; and document libraries.&lt;/p&gt;&#10;&lt;p&gt;It is a small package doing an outsized job. Every host allowlist, path allowlist, size limit, and transport control that the rest of the stack relies on is enforced here, in one place that can be audited on its own.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-file"&gt;https://github.com/tecnickcom/tc-lib-file&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-file&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-file"&gt;https://packagist.org/packages/tecnickcom/tc-lib-file&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\File&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-file&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Wherever an input can arrive as a filesystem path, a data &lt;abbr title="Uniform Resource Identifier"&gt;URI&lt;/abbr&gt;, a remote &lt;abbr title="Uniform Resource Locator"&gt;URL&lt;/abbr&gt;, or a raw string, and the code handling it should not have to care which.&lt;/p&gt;</description></item><item><title>tc-lib-unicode</title><link>https://tcpdf.org/projects/tc-lib-unicode/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-unicode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-unicode&lt;/strong&gt; provides Unicode conversion utilities and bidirectional algorithm support for multilingual text processing.&lt;/p&gt;&#10;&lt;p&gt;Directionality is where most of the work is. A paragraph mixing Hebrew or Arabic with Latin text and numerals has to be reordered before it can be drawn, and this package implements &lt;abbr title="Unicode Standard Annex"&gt;UAX&lt;/abbr&gt; #9 to do it.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-unicode"&gt;https://github.com/tecnickcom/tc-lib-unicode&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-unicode&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-unicode"&gt;https://packagist.org/packages/tecnickcom/tc-lib-unicode&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Unicode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-unicode&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Any text that is not plain left-to-right Latin: right-to-left scripts, Arabic shaping, Devanagari and Hangul reordering, or mixed-direction runs on one line.&lt;/p&gt;</description></item><item><title>tc-lib-unicode-data</title><link>https://tcpdf.org/projects/tc-lib-unicode-data/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-unicode-data/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-unicode-data&lt;/strong&gt; is a data-centric package that ships Unicode lookup tables, mappings, and constants consumed by &lt;code&gt;tc-lib-unicode&lt;/code&gt; and related libraries.&lt;/p&gt;&#10;&lt;p&gt;Keeping the tables in their own package means a &lt;abbr title="Unicode Character Database"&gt;UCD&lt;/abbr&gt; update is a version bump here, with nothing to review in the algorithms that read them.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data"&gt;https://github.com/tecnickcom/tc-lib-unicode-data&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-unicode-data"&gt;https://packagist.org/packages/tecnickcom/tc-lib-unicode-data&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-unicode-data&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Usually indirectly, through &lt;a href="https://tcpdf.org/projects/tc-lib-unicode/"&gt;tc-lib-unicode&lt;/a&gt;. Reach for it directly when you need to inspect a code point&amp;rsquo;s properties yourself.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-encrypt</title><link>https://tcpdf.org/projects/tc-lib-pdf-encrypt/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-encrypt/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-encrypt&lt;/strong&gt; implements core &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; encryption routines, including password handling and permission flag control.&lt;/p&gt;&#10;&lt;p&gt;The security mechanics of the PDF specification sit behind a small &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt;, so a document generator applies a policy without touching the cryptography underneath it.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt"&gt;https://github.com/tecnickcom/tc-lib-pdf-encrypt&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;API docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-encrypt"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-encrypt&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-encrypt&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;When a generated PDF has to carry an access policy: an open or owner password, restrictions on printing and modification, or certificate-based recipients.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-filter</title><link>https://tcpdf.org/projects/tc-lib-pdf-filter/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-filter/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-filter&lt;/strong&gt; decodes and applies &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; stream filters defined by the PDF specification.&lt;/p&gt;&#10;&lt;p&gt;A stream can carry a chain of filters rather than a single one, so both the generation and the parsing side run their bytes through this package.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter"&gt;https://github.com/tecnickcom/tc-lib-pdf-filter&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-filter"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-filter&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Filter&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-filter&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;When you are reading or writing PDF streams directly and need the decode chain to behave exactly as the specification describes it.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-font</title><link>https://tcpdf.org/projects/tc-lib-pdf-font/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-font/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-font&lt;/strong&gt; provides font import and runtime font-stack services for &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; composition engines.&lt;/p&gt;&#10;&lt;p&gt;It sits between the font files on disk and the text a document draws, holding the metrics, the encodings, and the tooling that turns a &lt;abbr title="TrueType Font"&gt;TTF&lt;/abbr&gt; or an &lt;abbr title="OpenType Font"&gt;OTF&lt;/abbr&gt; into something a PDF can embed.&lt;/p&gt;&#10;&lt;p&gt;In practice, there are two phases:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Build phase: convert source fonts (&lt;code&gt;.ttf&lt;/code&gt;, &lt;code&gt;.pfb&lt;/code&gt;, &lt;code&gt;.afm&lt;/code&gt;) into font definition assets.&lt;/li&gt;&#10;&lt;li&gt;Runtime phase: load those generated assets through the font stack when rendering PDF content.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font"&gt;https://github.com/tecnickcom/tc-lib-pdf-font&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-font"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-font&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-font&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For full PDF rendering with this font engine, install &lt;code&gt;tecnickcom/tc-lib-pdf&lt;/code&gt; in your application.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-graph</title><link>https://tcpdf.org/projects/tc-lib-pdf-graph/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-graph/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-graph&lt;/strong&gt; implements low-level drawing operations used to build &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; graphic content streams.&lt;/p&gt;&#10;&lt;p&gt;The &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; stays close to the PDF graphics operators themselves: paths, paint, clipping, shadings, and transforms, with the operator tokens visible in the method names and enum values.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph"&gt;https://github.com/tecnickcom/tc-lib-pdf-graph&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;API docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-graph"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-graph&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-graph&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Diagrams, overlays, crop and registration marks, and any vector component you want to draw once and place many times.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-image</title><link>https://tcpdf.org/projects/tc-lib-pdf-image/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-image/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-image&lt;/strong&gt; handles image import, conversion, and embedding structures used by &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; generators.&lt;/p&gt;&#10;&lt;p&gt;Decoding, re-encoding, alpha extraction, and &lt;abbr title="International Color Consortium"&gt;ICC&lt;/abbr&gt; handling all happen here, so document-level code deals in image identifiers and placement rather than in pixels.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image"&gt;https://github.com/tecnickcom/tc-lib-pdf-image&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-image"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-image&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Image&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-image&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;When a document pulls in artwork the application did not produce: uploads, assets from a &lt;abbr title="Content Delivery Network"&gt;CDN&lt;/abbr&gt;, or files a customer supplied.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-page</title><link>https://tcpdf.org/projects/tc-lib-pdf-page/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-page/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-page&lt;/strong&gt; keeps the page stack of a &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; document and writes out the page tree, the page objects, and the content streams.&lt;/p&gt;&#10;&lt;p&gt;Page size, orientation, boxes, and margins are resolved here rather than in the document builder, which is what keeps multi-page layout rules consistent across a document.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page"&gt;https://github.com/tecnickcom/tc-lib-pdf-page&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-page"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-page&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;Print-bound work, mainly, where trim and bleed have to be exact, and any document whose pagination is more involved than one page after another.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-parser</title><link>https://tcpdf.org/projects/tc-lib-pdf-parser/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-parser/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-parser&lt;/strong&gt; parses raw &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; data into structured PHP arrays for extraction, analysis, and downstream processing.&lt;/p&gt;&#10;&lt;p&gt;It is built for tooling: inspecting content, pulling out metadata, checking structure, and feeding migration pipelines. It also backs the page import in &lt;code&gt;tc-lib-pdf&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="repository-and-api-docs"&gt;Repository and API Docs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser"&gt;https://github.com/tecnickcom/tc-lib-pdf-parser&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; docs: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser"&gt;https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/tecnickcom/tc-lib-pdf-parser"&gt;https://packagist.org/packages/tecnickcom/tc-lib-pdf-parser&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-metadata"&gt;Project Metadata&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Namespace&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;\Com\Tecnick\Pdf\Parser&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;License&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;abbr title="GNU&amp;#39;s Not Unix"&gt;GNU&lt;/abbr&gt; &lt;abbr title="GNU Lesser General Public License"&gt;LGPL&lt;/abbr&gt; v3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer require tecnickcom/tc-lib-pdf-parser&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="where-it-fits"&gt;Where It Fits&lt;/h2&gt;&#10;&lt;p&gt;When PDFs arrive from outside and have to be read: analysed, merged, mined for content, or stamped and passed on.&lt;/p&gt;</description></item><item><title>tc-lib-pdf-sign</title><link>https://tcpdf.org/projects/tc-lib-pdf-sign/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/projects/tc-lib-pdf-sign/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;tc-lib-pdf-sign&lt;/strong&gt; provides the cryptographic building blocks and &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; signature objects used by &lt;code&gt;tc-lib-pdf&lt;/code&gt; to produce signed PDF documents.&lt;/p&gt;&#10;&lt;p&gt;The crypto and the PDF object generation live here, while the host library keeps the ByteRange placement, the incremental update writer, and the public facade. The package assembles CMS/CAdES signatures natively in pure PHP through a small &lt;abbr title="Distinguished Encoding Rules"&gt;DER&lt;/abbr&gt; &lt;abbr title="Abstract Syntax Notation One"&gt;ASN&lt;/abbr&gt;.1 codec, so it can embed the &lt;abbr title="Enhanced Security Services"&gt;ESS&lt;/abbr&gt; &lt;code&gt;signing-certificate-v2&lt;/code&gt; attribute that &lt;code&gt;openssl_pkcs7_sign()&lt;/code&gt; cannot add. That attribute is what lifts a plain &lt;abbr title="Public-Key Cryptography Standards"&gt;PKCS&lt;/abbr&gt;#7 signature to a &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; baseline signature.&lt;/p&gt;</description></item><item><title>TCPDF</title><link>https://tcpdf.org/docs/srcdoc/TCPDF/</link><pubDate>Mon, 02 Nov 2026 17:09:42 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/TCPDF/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF"&gt;https://github.com/tecnickcom/TCPDF&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-global-namespace"&gt;Global namespace&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF/"&gt;TCPDF&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF-ENGINE/"&gt;TCPDF_ENGINE&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="files"&gt;Files&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/TCPDF/files-config-tcpdf-config/"&gt;config/tcpdf_config.php&lt;/a&gt;: Configuration file for TCPDF.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/TCPDF/files-tcpdf-autoconfig/"&gt;tcpdf_autoconfig.php&lt;/a&gt;: Try to automatically configure some TCPDF constants if not defined.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-pdf</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/</link><pubDate>Mon, 02 Nov 2026 17:03:35 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2002-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf"&gt;https://github.com/tecnickcom/tc-lib-pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf"&gt;Com\Tecnick\Pdf&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Base/"&gt;Base&lt;/a&gt;: Output PDF data&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cell/"&gt;Cell&lt;/a&gt;: Cell PDF data&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS/"&gt;CSS&lt;/a&gt;: CSS PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HTML/"&gt;HTML&lt;/a&gt;: HTML PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-JavaScript/"&gt;JavaScript&lt;/a&gt;: JavaScript PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-MetaInfo/"&gt;MetaInfo&lt;/a&gt;: Meta Information PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Output/"&gt;Output&lt;/a&gt;: Output PDF data&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfColor/"&gt;PdfColor&lt;/a&gt;: PDF color adapter with conformance-aware output.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-SVG/"&gt;SVG&lt;/a&gt;: SVG PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/"&gt;Tcpdf&lt;/a&gt;: Tcpdf PDF class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Text/"&gt;Text&lt;/a&gt;: Text PDF data&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-pdf-font</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font"&gt;https://github.com/tecnickcom/tc-lib-pdf-font&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-font"&gt;Com\Tecnick\Pdf\Font&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Buffer/"&gt;Buffer&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Core/"&gt;Core&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Definition/"&gt;Definition&lt;/a&gt;: Reads the decoded font definition file at the types the font data declares.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FileWriter/"&gt;FileWriter&lt;/a&gt;: Writes the artifacts produced by the font import.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Font/"&gt;Font&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontPaths/"&gt;FontPaths&lt;/a&gt;: Shared font paths rooted at the library base directory.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import/"&gt;Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/"&gt;Load&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutFont/"&gt;OutFont&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Output/"&gt;Output&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutUtil/"&gt;OutUtil&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Stack/"&gt;Stack&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Subset/"&gt;Subset&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-UniToCid/"&gt;UniToCid&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Zlib/"&gt;Zlib&lt;/a&gt;: Compression and decompression of the stored font artifacts.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-pdf-page</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/</link><pubDate>Sat, 24 Oct 2026 09:38:58 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page"&gt;https://github.com/tecnickcom/tc-lib-pdf-page&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-page"&gt;Com\Tecnick\Pdf\Page&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Box/"&gt;Box&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Format/"&gt;Format&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Mode/"&gt;Mode&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Page/"&gt;Page&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Region/"&gt;Region&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Settings/"&gt;Settings&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Orientation/"&gt;Orientation&lt;/a&gt;: Backed enum for the requested page orientation: &amp;lsquo;P&amp;rsquo; (portrait), &amp;lsquo;L&amp;rsquo; (landscape) or &amp;rsquo;&amp;rsquo; (auto-detect from the page dimensions).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageBoxType/"&gt;PageBoxType&lt;/a&gt;: Backed enum for the PDF page boundary box names.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageDisplayMode/"&gt;PageDisplayMode&lt;/a&gt;: Backed enum for the PDF /PageMode name.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageLayout/"&gt;PageLayout&lt;/a&gt;: Backed enum for the PDF /PageLayout name.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-TransparencyGroupMode/"&gt;TransparencyGroupMode&lt;/a&gt;: Backed enum for the per-page transparency /Group emission policy: &amp;lsquo;auto&amp;rsquo; (every standard page except those explicitly flagged as opaque), &amp;lsquo;always&amp;rsquo; or &amp;rsquo;never&amp;rsquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Unit/"&gt;Unit&lt;/a&gt;: Backed enum for the document unit of measure.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-barcode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/</link><pubDate>Sat, 17 Oct 2026 11:50:05 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2015-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode"&gt;https://github.com/tecnickcom/tc-lib-barcode&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-barcode"&gt;Com\Tecnick\Barcode&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Barcode/"&gt;Barcode&lt;/a&gt;: Barcode factory class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Math/"&gt;Math&lt;/a&gt;: Arbitrary precision arithmetic on non-negative decimal integer strings.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;: Barcode Type class&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Model/"&gt;Model&lt;/a&gt;: Barcode Model interface&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-BarcodeType/"&gt;BarcodeType&lt;/a&gt;: Backed enum for the supported barcode symbologies.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-barcode-type"&gt;Com\Tecnick\Barcode\Type&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;: Barcode Convert class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-GsOneElementString/"&gt;GsOneElementString&lt;/a&gt;: GS1 Application Identifier element strings (GS1 General Specifications) Reads the bracketed form &amp;ldquo;(ai)value(ai)value&amp;hellip;&amp;rdquo;, which is also the human readable interpretation, and checks the Application Id&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Hibc/"&gt;Hibc&lt;/a&gt;: Hibc data structure class HIBC (Health Industry Bar Code) data structures Validates a data structure of the Supplier Labeling Standard (ANSI/HIBC 2.6) or of the Provider Applications Standard (ANSI/HI&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;: Barcode type class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Raw/"&gt;Raw&lt;/a&gt;: Raw Barcode type class RAW MODE (comma-separated rows)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-ReedSolomon/"&gt;ReedSolomon&lt;/a&gt;: Reed-Solomon error correction over GF(2^n)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;: Barcode type class&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Traits:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-pdf-encrypt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/</link><pubDate>Sat, 17 Oct 2026 11:08:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt"&gt;https://github.com/tecnickcom/tc-lib-pdf-encrypt&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-encrypt"&gt;Com\Tecnick\Pdf\Encrypt&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Compute/"&gt;Compute&lt;/a&gt;: Computes the PDF encryption data.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Data/"&gt;Data&lt;/a&gt;: Encryption constants and settings.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Decrypt/"&gt;Decrypt&lt;/a&gt;: Authenticates a password (or private key for public-key mode) against a PDF encryption dictionary and recovers the document file-encryption key.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;: Encrypts data for PDF documents.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/"&gt;Output&lt;/a&gt;: Generates the PDF encryption dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-encrypt-type"&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AES/"&gt;AES&lt;/a&gt;: AES&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESnopad/"&gt;AESnopad&lt;/a&gt;: AES no-padding&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESSixteen/"&gt;AESSixteen&lt;/a&gt;: AESSixteen 16 bytes = 128 bit&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESThirtytwo/"&gt;AESThirtytwo&lt;/a&gt;: AESThirtytwo 32 bytes = 256 bit&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-MDFiveSixteen/"&gt;MDFiveSixteen&lt;/a&gt;: MD5-16&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFour/"&gt;RCFour&lt;/a&gt;: RC4 is the standard encryption algorithm used in PDF format&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourFive/"&gt;RCFourFive&lt;/a&gt;: RC4-40 is the standard encryption algorithm used in PDF format The key length is 5 bytes (40 bits)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourSixteen/"&gt;RCFourSixteen&lt;/a&gt;: RC4-128 is the standard encryption algorithm used in PDF format The key length is 16 bytes (128 bits)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-Seed/"&gt;Seed&lt;/a&gt;: generate random seed&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-pdf-image</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/</link><pubDate>Sat, 10 Oct 2026 09:54:01 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image"&gt;https://github.com/tecnickcom/tc-lib-pdf-image&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-image"&gt;Com\Tecnick\Pdf\Image&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/"&gt;Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Output/"&gt;Output&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-ImageCacheInterface/"&gt;ImageCacheInterface&lt;/a&gt;: External cache used to persist processed image data across Import instances and PHP processes.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-image-import"&gt;Com\Tecnick\Pdf\Image\Import&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Jpeg/"&gt;Jpeg&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Png/"&gt;Png&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-ImageImportInterface/"&gt;ImageImportInterface&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-unicode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/</link><pubDate>Sat, 10 Oct 2026 09:43:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode"&gt;https://github.com/tecnickcom/tc-lib-unicode&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-unicode"&gt;Com\Tecnick\Unicode&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi/"&gt;Bidi&lt;/a&gt;: Unicode Bidirectional Algorithm (UAX #9): reorders each paragraph of the input from logical to visual order and applies the Arabic shaping.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert/"&gt;Convert&lt;/a&gt;: Malformed input policy: a string or char array that is not valid UTF-8 raises an exception, while a code point that cannot be encoded (negative, surrogate or greater than U+10FFFF) is replaced with &amp;lsquo;?&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution/"&gt;Substitution&lt;/a&gt;: Context-sensitive Unicode character substitution.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-unicode-data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/</link><pubDate>Sat, 10 Oct 2026 09:31:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data"&gt;https://github.com/tecnickcom/tc-lib-unicode-data&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-unicode-data"&gt;Com\Tecnick\Unicode\Data&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Arabic/"&gt;Arabic&lt;/a&gt;: Arabic shaping data (ArabicShaping.txt and UnicodeData.txt).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Bracket/"&gt;Bracket&lt;/a&gt;: Paired bracket properties (BidiBrackets.txt).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Constant/"&gt;Constant&lt;/a&gt;: Code points of the bidirectional formatting characters and of some common separators.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Encoding/"&gt;Encoding&lt;/a&gt;: Font encoding maps: character code to glyph name for each supported encoding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Identity/"&gt;Identity&lt;/a&gt;: CMap stream for the Identity-H encoding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Latin/"&gt;Latin&lt;/a&gt;: Unicode to Latin1 character substitutions.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-LineBreak/"&gt;LineBreak&lt;/a&gt;: Line_Break property values (UAX #14) of the classes that take part in ideographic line breaking.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Mirror/"&gt;Mirror&lt;/a&gt;: Bidi_Mirroring_Glyph property values (BidiMirroring.txt).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Pattern/"&gt;Pattern&lt;/a&gt;: Regular expressions matching directional text.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Type/"&gt;Type&lt;/a&gt;: Bidirectional character types (UAX #9).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-pdf-graph</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/</link><pubDate>Mon, 21 Sep 2026 00:11:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph"&gt;https://github.com/tecnickcom/tc-lib-pdf-graph&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-graph"&gt;Com\Tecnick\Pdf\Graph&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/"&gt;Base&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Draw/"&gt;Draw&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Gradient/"&gt;Gradient&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Raw/"&gt;Raw&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Style/"&gt;Style&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Transform/"&gt;Transform&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-BlendMode/"&gt;BlendMode&lt;/a&gt;: Backed enum of the PDF blend modes (PDF 32000-1:2008 - 11.3.5).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-PathPaintOp/"&gt;PathPaintOp&lt;/a&gt;: Backed enum of the PDF path-painting operators (PDF 32000-1:2008 - 8.5.3).&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-pdf-parser</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser"&gt;https://github.com/tecnickcom/tc-lib-pdf-parser&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-parser"&gt;Com\Tecnick\Pdf\Parser&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-LimitException/"&gt;LimitException&lt;/a&gt;: Raised when a parsing safety limit prevents an object from being resolved.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Parser/"&gt;Parser&lt;/a&gt;: PHP class for parsing PDF documents.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-parser-process"&gt;Com\Tecnick\Pdf\Parser\Process&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-RawObject/"&gt;RawObject&lt;/a&gt;: Process Raw Objects&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-Xref/"&gt;Xref&lt;/a&gt;: Process the cross-reference sections and the trailer&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-XrefStream/"&gt;XrefStream&lt;/a&gt;: Process the cross-reference stream entries&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-pdf-sign</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/</link><pubDate>Sat, 05 Sep 2026 08:07:42 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign"&gt;https://github.com/tecnickcom/tc-lib-pdf-sign&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-sign"&gt;Com\Tecnick\Pdf\Sign&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Config/"&gt;Config&lt;/a&gt;: Immutable signature configuration value object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class for the PDF signature library.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-RevokedException/"&gt;RevokedException&lt;/a&gt;: Thrown when a responder or a CRL states that a certificate is revoked.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Signer/"&gt;Signer&lt;/a&gt;: Package-internal orchestration entry point that ties the CMS builder, the RFC 3161 timestamp codec, and the LTV material collector together behind two host-facing calls.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-pdf-filter</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/</link><pubDate>Sat, 05 Sep 2026 08:07:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2011-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter"&gt;https://github.com/tecnickcom/tc-lib-pdf-filter&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-filter"&gt;Com\Tecnick\Pdf\Filter&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;: Exception thrown by this library.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Filter/"&gt;Filter&lt;/a&gt;: Decoder for the PDF stream filters (PDF 32000-1:2008 §7.4).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Predictor/"&gt;Predictor&lt;/a&gt;: Reverses the predictor applied before LZW or Flate compression (PDF 32000-1:2008 Table 8).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Enums:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-FilterType/"&gt;FilterType&lt;/a&gt;: Backed enum of the standard PDF stream filters (PDF 32000-1:2008 §7.4).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-pdf-filter-type"&gt;Com\Tecnick\Pdf\Filter\Type&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiEightFive/"&gt;AsciiEightFive&lt;/a&gt;: ASCII85Decode filter (PDF 32000-1:2008 §7.4.3).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiHex/"&gt;AsciiHex&lt;/a&gt;: ASCIIHexDecode filter (PDF 32000-1:2008 §7.4.2).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-CcittFax/"&gt;CcittFax&lt;/a&gt;: CCITTFaxDecode filter (PDF 32000-1:2008 §7.4.6).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Crypt/"&gt;Crypt&lt;/a&gt;: Crypt filter (PDF 32000-1:2008 §7.4.10).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Dct/"&gt;Dct&lt;/a&gt;: DCTDecode filter (PDF 32000-1:2008 §7.4.8).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Flate/"&gt;Flate&lt;/a&gt;: FlateDecode filter (PDF 32000-1:2008 §7.4.4).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-JbigTwo/"&gt;JbigTwo&lt;/a&gt;: JBIG2Decode filter (PDF 32000-1:2008 §7.4.7).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Jpx/"&gt;Jpx&lt;/a&gt;: JPXDecode filter (PDF 32000-1:2008 §7.4.9).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Lzw/"&gt;Lzw&lt;/a&gt;: LZWDecode filter (PDF 32000-1:2008 §7.4.4).&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-RunLength/"&gt;RunLength&lt;/a&gt;: RunLengthDecode filter (PDF 32000-1:2008 §7.4.5).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>tc-lib-file</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2015-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file"&gt;https://github.com/tecnickcom/tc-lib-file&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-file"&gt;Com\Tecnick\File&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Byte/"&gt;Byte&lt;/a&gt;: Big-endian byte-level reads from a binary string The 32-bit readers (getULong(), getLong(), getFixed()) assume a 64-bit PHP build: on a 32-bit build the intermediate left shift overflows the platform&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Cache/"&gt;Cache&lt;/a&gt;: File caching system with per-instance directory path and file prefix&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Dir/"&gt;Dir&lt;/a&gt;: Writable parent-directory lookup&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Exception/"&gt;Exception&lt;/a&gt;: Library exception type&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;: Local and remote file reads behind host and path allowlists&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="files"&gt;Files&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/files-src-cache/"&gt;src/Cache.php&lt;/a&gt;: Cache.php&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>tc-lib-color</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Copyright:&lt;/strong&gt; 2015-2026 Nicola Asuni - Tecnick.com LTD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; &lt;a href="https://www.gnu.org/copyleft/lesser.html"&gt;https://www.gnu.org/copyleft/lesser.html&lt;/a&gt; GNU-LGPL v3 (see LICENSE)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color"&gt;https://github.com/tecnickcom/tc-lib-color&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ns-com-tecnick-color"&gt;Com\Tecnick\Color&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Classes:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ComponentNormalizer/"&gt;ComponentNormalizer&lt;/a&gt;: Scales a parsed CSS component value into the [0..1] range used by the color models.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Css/"&gt;Css&lt;/a&gt;: Css Color class Parses the CSS and Acrobat JavaScript color notations.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/"&gt;Exception&lt;/a&gt;: Custom Exception class Raised for an invalid input condition: an unparsable color string, an unknown color or spot color name, a PDF resource that cannot be referenced.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;: Color Model class&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Pdf/"&gt;Pdf&lt;/a&gt;: PDF Color class Extension points: getPdfColor() and getColorObject().&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Spot/"&gt;Spot&lt;/a&gt;: Spot Color class Extension points: getSpotColor() and the protected resolveSpotColorData().&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: Raised when a color model is given a component name it does not define.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Web/"&gt;Web&lt;/a&gt;: Web Color class Extension point: getColorObj().&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Example E000 : overview</title><link>https://tcpdf.org/examples/E000_overview/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E000_overview/</guid><description>&lt;p&gt;A visual showcase of the library on a few pages: barcodes, &lt;abbr title="Quick Response"&gt;QR&lt;/abbr&gt; codes, &lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt; artwork, raster images, transparency, and gradients.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E000_overview.pdf"&gt;E000_overview.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E000_overview.phps"&gt;E000_overview.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#start-here"&gt;Start Here&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E000_overview.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E000_overview.webp" alt="Page 1 of E000_overview.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E000_overview.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example_overview.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 000&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf Visual Showcase&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf showcase barcode qr svg image transparency gradients&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;000_overview.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$subtitleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Visual showcase&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cardStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(193,216,242)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,255,255)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(147,196,227)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(147,196,227)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcodeStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textOnDark&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(244,250,255)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textOnLight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(22,37,61)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Background atmosphere.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLinearGradient(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(10,27,60)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,171,193)&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.12&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;330&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageW&lt;/span&gt;, (float) (&lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.28&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCircle(&lt;span style="color:#a5d6ff"&gt;167&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;46&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,255,255)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,255,255)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Main title block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textOnDark&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:30pt; font-weight:bold; color:rgb(244,250,255);&amp;#34;&amp;gt;tc-lib-pdf&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$subtitleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:13pt; line-height:1.3; color:rgb(244,250,255);&amp;#34;&amp;gt;Modern PDF generation in pure PHP: vectors, images, barcodes, and rich page composition.&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;34&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Left feature card.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.90&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;56&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;89&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;137&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cardStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textOnLight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$subtitleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:13pt; color:rgb(22,37,61);&amp;#34;&amp;gt;Cool Features&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;64&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;72&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$features&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ul style=&amp;#34;font-size:10pt; color:rgb(22,37,61); margin:0; padding-left:12pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Native SVG rendering&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;JPEG/PNG with transparency&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;1D/2D barcodes (QR, DataMatrix)&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Gradients and vector primitives&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;HTML/CSS text layout&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Digital signatures and PDF/X, PDF/UA support&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ul&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$features&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;74&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;79&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$logoFile&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$logoFile&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$logoId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$logoFile&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$logoId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;153&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// SVG art panel.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.92&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;106&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;92&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;121&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cardStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svgFile&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvgblend.svg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$svgFile&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$svgObj&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgFile&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;111&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;76&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;82&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;108&lt;/span&gt;, pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgObj&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textOnLight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:8pt; text-align:center; color:rgb(22,37,61);&amp;#34;&amp;gt;SVG graphic rendered directly into PDF vectors&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;111&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;182&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;82&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// QR code panel.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.92&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;198&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;186&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;76&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cardStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textOnLight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$subtitleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:13pt; color:rgb(22,37,61);&amp;#34;&amp;gt;Scan to Explore&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;206&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;92&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:10pt; line-height:1.25; color:rgb(22,37,61);&amp;#34;&amp;gt;This QR code points to the official TCPDF project page:&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;216&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;118&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:10pt; color:rgb(22,37,61);&amp;#34;&amp;gt;&amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;https://tcpdf.org&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;228&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;118&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QRCODE,H&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://tcpdf.org&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;145&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;206&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; style&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E001 : invoice</title><link>https://tcpdf.org/examples/E001_invoice/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E001_invoice/</guid><description>&lt;p&gt;A hybrid electronic invoice: a Factur-X 1.07 and &lt;abbr title="Zentraler User Guide des Forums elektronische Rechnung Deutschland"&gt;ZUGFeRD&lt;/abbr&gt; 2.3 &lt;abbr title="Extensible Markup Language"&gt;XML&lt;/abbr&gt; payload embedded in a PDF/A-3 document, with the PDF/A extension schema written into &lt;abbr title="Extensible Metadata Platform"&gt;XMP&lt;/abbr&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E001_invoice.pdf"&gt;E001_invoice.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E001_invoice.phps"&gt;E001_invoice.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E001_invoice.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E001_invoice.webp" alt="Page 1 of E001_invoice.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E001_invoice.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfa3,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 001&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Example Invoice Factur-X 1.07 / ZUGFeRD 2.3&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf invoice Factur-X ZUGFeRD e-invoice XML&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;001_invoice.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Factur-X 1.07 / ZUGFeRD 2.3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageF01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Factur&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$invoiceHTML&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h2 style=&amp;#34;color:#003366;&amp;#34;&amp;gt;INVOICE EXAMPLE&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;0&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:50%; vertical-align:top;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Seller&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ELEKTRON Industrieservice GmbH&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Geschäftsführer Egon Schrempp Amtsgericht Stuttgart HRB 1234&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Erfurter Strasse 13&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 74465 Demoort, DE&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; VAT: DE136695976&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:50%; vertical-align:top; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Invoice No.:&amp;lt;/b&amp;gt; 181301674&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Invoice Date:&amp;lt;/b&amp;gt; 15.11.2024&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Delivery Date:&amp;lt;/b&amp;gt; 01.11.2024&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Order Ref.:&amp;lt;/b&amp;gt; per Mail vom 01.09.2024&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;Project:&amp;lt;/b&amp;gt; 13130162&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;b&amp;gt;Bill To:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;ConsultingService GmbH&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Attn: Liselotte Müller-Lüdenscheidt&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Musterstr. 18&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;76138 Karlsruhe, DE&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;width:100%; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr style=&amp;#34;background-color:#003366; color:#ffffff;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;text-align:left; width:8%;&amp;#34;&amp;gt;Pos.&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;text-align:left; width:40%;&amp;#34;&amp;gt;Description&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:12%;&amp;#34;&amp;gt;Qty&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:10%;&amp;#34;&amp;gt;Unit&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:15%;&amp;#34;&amp;gt;Unit Price&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:15%;&amp;#34;&amp;gt;Amount&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;01&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;TGA Obermonteur/Monteur&amp;lt;br/&amp;gt;&amp;lt;i&amp;gt;Beamermontage&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;HUR&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;43.20&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;129.60&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;02&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;Beamer-Deckenhalterung&amp;lt;br/&amp;gt;&amp;lt;i&amp;gt;Außerhalb Angebot&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;H87&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;122.50&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;122.50&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;0&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:60%;&amp;#34;&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;width:100%; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;Net Total&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;EUR 252.10&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;VAT 19%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;EUR 47.90&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;Grand Total&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;EUR 300.00&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;Prepaid&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;EUR 0.00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;text-align:left;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;Due Amount&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;EUR 300.00&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;b&amp;gt;Payment Terms:&amp;lt;/b&amp;gt; Zahlbar sofort rein netto&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;b&amp;gt;Bank:&amp;lt;/b&amp;gt; IBAN DE91100000000123456789&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;b&amp;gt;Payment Reference:&amp;lt;/b&amp;gt; Rechnung 181301674&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;i&amp;gt;Factur-X 1.07 / ZUGFeRD 2.3 — embedded XML attachment: factur-x.xml&amp;lt;/i&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&lt;span style="color:#79c0ff"&gt;$invoiceHTML&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$invoiceXML&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;?xml version=&amp;#39;1.0&amp;#39; encoding=&amp;#39;UTF-8&amp;#39; ?&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rsm:CrossIndustryInvoice xmlns:rsm=&amp;#34;urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100&amp;#34; xmlns:qdt=&amp;#34;urn:un:unece:uncefact:data:standard:QualifiedDataType:100&amp;#34; xmlns:ram=&amp;#34;urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100&amp;#34; xmlns:xs=&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34; xmlns:udt=&amp;#34;urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rsm:ExchangedDocumentContext&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BusinessProcessSpecifiedDocumentContextParameter&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;Baurechnung&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:BusinessProcessSpecifiedDocumentContextParameter&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:GuidelineSpecifiedDocumentContextParameter&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;urn:cen.eu:en16931:2017&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:GuidelineSpecifiedDocumentContextParameter&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rsm:ExchangedDocumentContext&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rsm:ExchangedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;181301674&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;204&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IssueDateTime&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;udt:DateTimeString format=&amp;#34;102&amp;#34;&amp;gt;20241115&amp;lt;/udt:DateTimeString&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IssueDateTime&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Content&amp;gt;Rapport-Nr.: 42389 vom 01.11.2024&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Im 2. OG BT1 Besprechungsraum eine Beamerhalterung an die Decke montiert. Dafür eine Deckenplatte ausgesägt. Beamerhalterung zur Montage auseinander gebaut. Ein Stromkabel für den Beamer, ein HDMI Kabel und ein VGA Kabel durch die Halterung gezogen. Beamerhalterung wieder zusammengebaut und Beamer montiert. Beamer verkabelt und ausgerichtet. Decke geschlossen.&amp;lt;/ram:Content&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rsm:ExchangedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rsm:SupplyChainTradeTransaction&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IncludedSupplyChainTradeLineItem&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:AssociatedDocumentLineDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineID&amp;gt;01&amp;lt;/ram:LineID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Content&amp;gt;01 Beamermontage&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Für die doppelte Verlegung, falls erforderlich.&amp;lt;/ram:Content&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:AssociatedDocumentLineDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeProduct&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Name&amp;gt;TGA Obermonteur/Monteur&amp;lt;/ram:Name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeProduct&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeAgreement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:GrossPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ChargeAmount&amp;gt;43.2&amp;lt;/ram:ChargeAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:GrossPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:NetPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ChargeAmount&amp;gt;43.2&amp;lt;/ram:ChargeAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:NetPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeAgreement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BilledQuantity unitCode=&amp;#34;HUR&amp;#34;&amp;gt;3&amp;lt;/ram:BilledQuantity&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;VAT&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CategoryCode&amp;gt;S&amp;lt;/ram:CategoryCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:RateApplicablePercent&amp;gt;19&amp;lt;/ram:RateApplicablePercent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeSettlementLineMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineTotalAmount&amp;gt;129.6&amp;lt;/ram:LineTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeSettlementLineMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IncludedSupplyChainTradeLineItem&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IncludedSupplyChainTradeLineItem&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:AssociatedDocumentLineDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineID&amp;gt;02&amp;lt;/ram:LineID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Content&amp;gt;02 Außerhalb Angebot&amp;lt;/ram:Content&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IncludedNote&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:AssociatedDocumentLineDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeProduct&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Name&amp;gt;Beamer-Deckenhalterung&amp;lt;/ram:Name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeProduct&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeAgreement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:GrossPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ChargeAmount&amp;gt;122.5&amp;lt;/ram:ChargeAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:GrossPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:NetPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ChargeAmount&amp;gt;122.5&amp;lt;/ram:ChargeAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:NetPriceProductTradePrice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeAgreement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BilledQuantity unitCode=&amp;#34;H87&amp;#34;&amp;gt;1&amp;lt;/ram:BilledQuantity&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedLineTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;VAT&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CategoryCode&amp;gt;S&amp;lt;/ram:CategoryCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:RateApplicablePercent&amp;gt;19&amp;lt;/ram:RateApplicablePercent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeSettlementLineMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineTotalAmount&amp;gt;122.5&amp;lt;/ram:LineTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeSettlementLineMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedLineTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:IncludedSupplyChainTradeLineItem&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableHeaderTradeAgreement&amp;gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BuyerReference&amp;gt;Liselotte Müller-Lüdenscheidt&amp;lt;/ram:BuyerReference&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SellerTradeParty&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;549910&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Name&amp;gt;ELEKTRON Industrieservice GmbH&amp;lt;/ram:Name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Description&amp;gt;Geschäftsführer Egon Schrempp Amtsgericht Stuttgart HRB 1234&amp;lt;/ram:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PostalTradeAddress&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PostcodeCode&amp;gt;74465&amp;lt;/ram:PostcodeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineOne&amp;gt;Erfurter Strasse 13&amp;lt;/ram:LineOne&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CityName&amp;gt;Demoort&amp;lt;/ram:CityName&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CountryID&amp;gt;DE&amp;lt;/ram:CountryID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:PostalTradeAddress&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTaxRegistration&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID schemeID=&amp;#34;VA&amp;#34;&amp;gt;DE136695976&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTaxRegistration&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SellerTradeParty&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BuyerTradeParty&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;16259&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Name&amp;gt;ConsultingService GmbH&amp;lt;/ram:Name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PostalTradeAddress&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PostcodeCode&amp;gt;76138&amp;lt;/ram:PostcodeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineOne&amp;gt;Musterstr. 18&amp;lt;/ram:LineOne&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CityName&amp;gt;Karlsruhe&amp;lt;/ram:CityName&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CountryID&amp;gt;DE&amp;lt;/ram:CountryID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:PostalTradeAddress&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:BuyerTradeParty&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SellerOrderReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IssuerAssignedID&amp;gt;per Mail vom 01.09.2024&amp;lt;/ram:IssuerAssignedID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SellerOrderReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:AdditionalReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IssuerAssignedID&amp;gt;13130162&amp;lt;/ram:IssuerAssignedID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:URIID&amp;gt;#ef=Aufmass.png&amp;lt;/ram:URIID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;916&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:AdditionalReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:AdditionalReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IssuerAssignedID&amp;gt;42389&amp;lt;/ram:IssuerAssignedID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:URIID&amp;gt;#ef=ElektronRapport_neu-red.pdf&amp;lt;/ram:URIID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;916&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:AdditionalReferencedDocument&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedProcuringProject&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;13130162&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Name&amp;gt;Projekt&amp;lt;/ram:Name&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedProcuringProject&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableHeaderTradeAgreement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableHeaderTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ActualDeliverySupplyChainEvent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:OccurrenceDateTime&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;udt:DateTimeString format=&amp;#34;102&amp;#34;&amp;gt;20241101&amp;lt;/udt:DateTimeString&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:OccurrenceDateTime&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ActualDeliverySupplyChainEvent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableHeaderTradeDelivery&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableHeaderTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PaymentReference&amp;gt;Rechnung 181301674&amp;lt;/ram:PaymentReference&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:InvoiceCurrencyCode&amp;gt;EUR&amp;lt;/ram:InvoiceCurrencyCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeSettlementPaymentMeans&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;58&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:PayeePartyCreditorFinancialAccount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:IBANID&amp;gt;DE91100000000123456789&amp;lt;/ram:IBANID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:PayeePartyCreditorFinancialAccount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeSettlementPaymentMeans&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CalculatedAmount&amp;gt;47.9&amp;lt;/ram:CalculatedAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TypeCode&amp;gt;VAT&amp;lt;/ram:TypeCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:BasisAmount&amp;gt;252.1&amp;lt;/ram:BasisAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:CategoryCode&amp;gt;S&amp;lt;/ram:CategoryCode&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:RateApplicablePercent&amp;gt;19&amp;lt;/ram:RateApplicablePercent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableTradeTax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradePaymentTerms&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:Description&amp;gt;Zahlbar sofort rein netto&amp;lt;/ram:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradePaymentTerms&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:SpecifiedTradeSettlementHeaderMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:LineTotalAmount&amp;gt;252.1&amp;lt;/ram:LineTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ChargeTotalAmount&amp;gt;0&amp;lt;/ram:ChargeTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:AllowanceTotalAmount&amp;gt;0&amp;lt;/ram:AllowanceTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TaxBasisTotalAmount&amp;gt;252.1&amp;lt;/ram:TaxBasisTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TaxTotalAmount currencyID=&amp;#34;EUR&amp;#34;&amp;gt;47.9&amp;lt;/ram:TaxTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:GrandTotalAmount&amp;gt;300&amp;lt;/ram:GrandTotalAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:TotalPrepaidAmount&amp;gt;0&amp;lt;/ram:TotalPrepaidAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:DuePayableAmount&amp;gt;300&amp;lt;/ram:DuePayableAmount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:SpecifiedTradeSettlementHeaderMonetarySummation&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ReceivableSpecifiedTradeAccountingAccount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ram:ID&amp;gt;420&amp;lt;/ram:ID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ReceivableSpecifiedTradeAccountingAccount&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ram:ApplicableHeaderTradeSettlement&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rsm:SupplyChainTradeTransaction&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rsm:CrossIndustryInvoice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Embeds the XML with the file name, MIME type and /AFRelationship required by the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// profile, and adds the PDF/A extension schema and the profile XMP properties.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setFacturX(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; xml&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$invoiceXML&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; profile&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\HybridProfile&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FacturX,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\HybridConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;En16931,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E002 : font dump</title><link>https://tcpdf.org/examples/E002_font_dump/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E002_font_dump/</guid><description>&lt;p&gt;Dumps the metrics and glyph coverage of the bundled font families, for checking what a font can actually render.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E002_font_dump.pdf"&gt;E002_font_dump.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E002_font_dump.phps"&gt;E002_font_dump.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E002_font_dump.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E002_font_dump.webp" alt="Page 1 of E002_font_dump.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E002_font_dump.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 002&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Font Dump and Glyph Coverage&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf fonts glyphs unicode dump metrics&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;002_font_dump.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// core font families and styles&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$corefonts&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;symbol&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zapfdingbats&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$corefonts&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontcfg&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontcfg&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontcfg&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fontname&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Font: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontname&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// title&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FONT: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontname&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// glyph table font&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$charfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$charfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// render character table (0-255) as a 16x16 grid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;256&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;%&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (int) (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11.25&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11.25&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;uniconv&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;chr(&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;11.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;11.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pangram&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The quick brown fox jumps over the lazy dog&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;220&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pangram&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E003 : rtl languages</title><link>https://tcpdf.org/examples/E003_rtl_languages/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E003_rtl_languages/</guid><description>&lt;p&gt;Persian and Arabic right-to-left text, with Arabic shaping driven by the Joining_Type property and the lam-alef and allah ligatures.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E003_rtl_languages.pdf"&gt;E003_rtl_languages.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E003_rtl_languages.phps"&gt;E003_rtl_languages.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E003_rtl_languages.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E003_rtl_languages.webp" alt="Page 1 of E003_rtl_languages.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E003_persian_arabic.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 003&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Persian and Arabic RTL Text Rendering&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf persian arabic rtl bidi unicode shaping&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;003_persian_arabic.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PERSIAN: &amp;#34;The process of printing and correctly displaying Persian texts in digital systems requires full support for the Unicode standard and right-to-left layout. In this test text, all letters of the Persian alphabet, including specific letters like &amp;#34;Pe&amp;#34;, &amp;#34;Che&amp;#34;, &amp;#34;Zhe&amp;#34;, and &amp;#34;Gaf&amp;#34;, are included to verify their correct connectivity. Additionally, the use of Persian numbers (1234567890) and punctuation marks like commas (,) and semicolons (;) is essential for accurately measuring the alignment of lines and margins on multi-line pages.&amp;#34;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtPersian&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;فرآیند چاپ و نمایش صحیح متون فارسی در سیستم‌های دیجیتال نیازمند پشتیبانی کامل از استاندارد یونیکد و چیدمان راست‌به‌چپ است. در این متن آزمایشی، تمامی حروف الفبای فارسی از جمله حروف خاص مانند «پ»، «چ»، «ژ» و «گ» گنجانده شده‌اند تا صحت اتصال آن‌ها بررسی شود. همچنین استفاده از اعداد فارسی (۱۲۳۴۵۶۷۸۹۰) و علائم نگارشی مانند ویرگول (،) و نقطه‌ویرگول (؛) برای سنجش دقیق ترازبندی خطوط و حاشیه‌های صفحات چندخطی الزامی است.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlPersian&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;direction:rtl;text-align:right;color:#003366;&amp;#34; lang=&amp;#34;fa&amp;#34;&amp;gt;فرآیند چاپ و نمایش صحیح متون فارسی در سیستم‌های دیجیتال نیازمند پشتیبانی کامل از استاندارد یونیکد و چیدمان راست‌به‌چپ است. در این متن آزمایشی، تمامی حروف الفبای فارسی از جمله حروف خاص مانند &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;«پ»، «چ»، «ژ» و «گ»&amp;lt;/span&amp;gt; گنجانده شده‌اند تا صحت اتصال آن‌ها بررسی شود. همچنین استفاده از اعداد فارسی &amp;lt;span style=&amp;#34;color:#006600;&amp;#34;&amp;gt;(۱۲۳۴۵۶۷۸۹۰)&amp;lt;/span&amp;gt; و علائم نگارشی مانند ویرگول (،) و نقطه‌ویرگول (؛) برای سنجش دقیق ترازبندی خطوط و حاشیه‌های صفحات چندخطی الزامی است.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ARABIC: &amp;#34;The process of printing and correctly displaying Arabic texts on digital screens requires full support for the Unicode system and right-to-left formatting. This test text contains various letters, including elongated letters and different Hamzas (أ، إ، آ، ء، ئ، ؤ), to ensure the accuracy of letter connectivity. The text also includes Arabic numerals (1234567890) and punctuation marks such as the comma (،) and semicolon (؛) to verify the integrity of line alignment and multi-page margins.&amp;#34;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;إن عملية طباعة النصوص العربية وعرضها بشكل صحيح على الشاشات الرقمية تتطلب دعماً كاملاً لنظام اليونيكود والتنسيق من اليمين إلى اليسار. يحتوي هذا النص التجريبي على حروف متنوعة تشمل الحروف الممدودة والهمزات المختلفة مثل (أ، إ، آ، ء، ئ، ؤ) لضمان دقة اتصال الحروف ببعضها. كما يتضمن النص الأرقام العربية (١٢٣٤٥٦٧٨٩٠) وعلامات الترقيم كالفاصلة (،) والفاصلة المنقوطة (؛) للتحقق من سلامة محاذاة الأسطر وهوامش الصفحات المتعددة.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlArabic&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;direction:rtl;text-align:right;color:#003366;&amp;#34; lang=&amp;#34;ar&amp;#34;&amp;gt;إن عملية طباعة النصوص العربية وعرضها بشكل صحيح على الشاشات الرقمية تتطلب دعماً كاملاً لنظام اليونيكود والتنسيق من اليمين إلى اليسار. يحتوي هذا النص التجريبي على حروف متنوعة تشمل الحروف الممدودة والهمزات المختلفة مثل &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;(أ، إ، آ، ء، ئ، ؤ)&amp;lt;/span&amp;gt; لضمان دقة اتصال الحروف ببعضها. كما يتضمن النص الأرقام العربية &amp;lt;span style=&amp;#34;color:#006600;&amp;#34;&amp;gt;(١٢٣٤٥٦٧٨٩٠)&amp;lt;/span&amp;gt; وعلامات الترقيم كالفاصلة (،) والفاصلة المنقوطة (؛) للتحقق من سلامة محاذاة الأسطر وهوامش الصفحات المتعددة.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HEBREW: &amp;#34;The process of printing and correctly displaying text in Hebrew on digital systems requires full support for the Unicode standard and right-to-left formatting. In this experimental text, all letters of the alphabet are included, including the final letters (ך, ם, ן, ף, ץ) to verify their correct display. Furthermore, the text integrates numbers (1234567890) and various punctuation marks like a comma (,) and semicolon (;) in order to examine line alignment and page margins in long paragraphs.&amp;#34;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtHebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;תהליך ההדפסה וההצגה התקינה של טקסט בעברית במערכות דיגיטליות דורש תמיכה מלאה בתקן יוניקוד ובתצורת כתיבה מימין לשמאל. בטקסט ניסיוני זה נכללו כל אותיות האלפבית, כולל האותיות הסופיות (ך, ם, ן, ף, ץ) כדי לבדוק את תקינות התצוגה שלהן. כמו כן, הטקסט משלב מספרים (1234567890) וסימני פיסוק שונים כמו פסיק (,) ונקודה ופסיק (;) על מנת לבחון את יישור השורות ואת שולי העמודים בפסקאות ארוכות.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlHebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;direction:rtl;text-align:right;color:#003366;&amp;#34; lang=&amp;#34;he&amp;#34;&amp;gt;תהליך ההדפסה וההצגה התקינה של טקסט בעברית במערכות דיגיטליות דורש תמיכה מלאה בתקן יוניקוד ובתצורת כתיבה מימין לשמאל. בטקסט ניסיוני זה נכללו כל אותיות האלפבית, כולל האותיות הסופיות &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;(ך, ם, ן, ף, ץ)&amp;lt;/span&amp;gt; כדי לבדוק את תקינות התצוגה שלהן. כמו כן, הטקסט משלב מספרים &amp;lt;span style=&amp;#34;color:#006600;&amp;#34;&amp;gt;(1234567890)&amp;lt;/span&amp;gt; וסימני פיסוק שונים כמו פסיק (,) ונקודה ופסיק (;) על מנת לבחון את יישור השורות ואת שולי העמודים בפסקאות ארוכות.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;RTL (Right-To-Left) Examples&amp;lt;/h1&amp;gt;&amp;lt;h2&amp;gt;1. getTextCell()&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtPersian&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtHebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;2. addTextCell()&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtPersian&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtHebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;3. getHTMLCell() - simple text&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;4. addtHTMLCell() - simple text&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;5. getHTMLCell() - HTML fragments&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;6. addtHTMLCell() - HTML fragments&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlPersian&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlArabic&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtEngHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlHebrew&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;240&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;7. addtHTMLCell() - HTML fragments with images&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rtlHtmlWithImage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;direction:rtl;text-align:right;color:#003366;&amp;#34; lang=&amp;#34;fa&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; height=&amp;#34;3mm&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; فرآیند چاپ و نمایش صحیح متون فارسی در سیستم‌های دیجیتال نیازمند پشتیبانی کامل از استاندارد یونیکد و چیدمان راست‌به‌چپ است. در این متن آزمایشی، تمامی حروف الفبای فارسی از جمله حروف خاص مانند &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; height=&amp;#34;3mm&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;«پ»، «چ»، «ژ» و «گ»&amp;lt;/span&amp;gt; گنجانده شده‌اند تا صحت اتصال آن‌ها بررسی شود. همچنین استفاده از اعداد فارسی &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; height=&amp;#34;3mm&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;span style=&amp;#34;color:#006600;&amp;#34;&amp;gt;(۱۲۳۴۵۶۷۸۹۰)&amp;lt;/span&amp;gt; و علائم نگارشی مانند ویرگول (،) و نقطه‌ویرگول (؛) برای سنجش دقیق ترازبندی خطوط و حاشیه‌های صفحات چندخطی الزامی است. &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; height=&amp;#34;3mm&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rtlHtmlWithImage&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;8. addHTMLCell() - RTL paragraph spanning a page break&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A long multi-fragment RTL paragraph placed low on the page so that it overflows&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the page bottom and must continue on the next page. This exercises Stage 2e (RTL&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// region/page continuation): the inter-fragment engine must flow the remaining&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// right-to-left lines into the next page, keeping them top-down and right-to-left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// instead of falling back to the forward-cursor renderer. See&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PLAN_RTL_HTML_FRAGMENTS.md increment 4.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arabicSpanCycle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;span style=&amp;#34;color:#006600;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txtArabic&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt; &amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlArabicLong&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;direction:rtl;text-align:right;color:#003366;&amp;#34; lang=&amp;#34;ar&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&lt;span style="color:#79c0ff"&gt;$arabicSpanCycle&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlArabicLong&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$psx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E004 : page formats</title><link>https://tcpdf.org/examples/E004_page_formats/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E004_page_formats/</guid><description>&lt;p&gt;Named page formats from the &lt;abbr title="International Organization for Standardization"&gt;ISO&lt;/abbr&gt;, ANSI, &lt;abbr title="Japanese Industrial Standards"&gt;JIS&lt;/abbr&gt;, envelope, and photographic series, page orientation, and arbitrary custom sizes.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E004_page_formats.pdf"&gt;E004_page_formats.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E004_page_formats.phps"&gt;E004_page_formats.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E004_page_formats.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E004_page_formats.webp" alt="Page 1 of E004_page_formats.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E004_page_formats.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 004&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Formats and Orientation&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf page formats orientation A4 Letter custom size&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;004_page_formats.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Get all page formats from the Format class&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$formats&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Page\Format&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FORMAT;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert monospace font&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Conversion factor: points to mm and inches&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mmRatio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Page\Format&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;UNITRATIO[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mm&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$inRatio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Page\Format&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;UNITRATIO[&lt;span style="color:#a5d6ff"&gt;&amp;#39;in&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Loop through all formats&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$formats&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$formatName&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dimensions&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Add a new page using the named format.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$formatName&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Get dimensions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$widthPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dimensions&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$heightPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dimensions&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Calculate dimensions in mm and inches.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$widthMm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$widthPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mmRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$heightMm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$heightPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mmRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$widthIn&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$widthPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$inRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$heightIn&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$heightPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$inRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Print multiline text at top-left corner.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Define multiline HTML text to display.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$formatName&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;))) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;text-align:right&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;unit&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;width&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;height&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;mm&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$widthMm&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$heightMm&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;in&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$widthIn&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$heightIn&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.3f&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$widthPt&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$heightPt&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E005 : header footer</title><link>https://tcpdf.org/examples/E005_header_footer/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E005_header_footer/</guid><description>&lt;p&gt;Page headers, footers, and default page content applied across a multi-page document.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E005_header_footer.pdf"&gt;E005_header_footer.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E005_header_footer.phps"&gt;E005_header_footer.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E005_header_footer.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E005_header_footer.webp" alt="Page 1 of E005_header_footer.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E005_header_footer.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Custom PDF class with a repeating page header and footer.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Extends Tcpdf and overrides defaultPageContent() so that every&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * new page automatically receives a branded header and a numbered footer.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The mechanism is activated by calling enableDefaultPageContent(true).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;class&lt;/span&gt; &lt;span style="color:#f0883e;font-weight:bold"&gt;PdfWithHeaderFooter&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;extends&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** Horizontal margin used by the header and footer bands (mm). */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HF_MARGIN&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** Height of the header band (mm). */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HEADER_H&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** Height of the footer band (mm). */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FOOTER_H&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** Document title shown left-aligned in the header. */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; string &lt;span style="color:#79c0ff"&gt;$headerTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** Subtitle / date shown right-aligned in the header. */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; string &lt;span style="color:#79c0ff"&gt;$headerSubtitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Set the text displayed in the page header.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param string $title Left-aligned title.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param string $subtitle Right-aligned subtitle (e.g. date or company name).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;setHeaderText&lt;/span&gt;(string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$subtitle&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerTitle &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerSubtitle &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subtitle&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Generates the repeating header and footer for every page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This method is called automatically by setPageContext() whenever a new&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * page is added, provided enableDefaultPageContent(true) has been called.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param int $pid Page index (0-based).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @return string Raw PDF stream prepended to the page content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;defaultPageContent&lt;/span&gt;(int &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Insert the default font once and cache it for subsequent pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultfont &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultfont &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPage(&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ph&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HF_MARGIN; &lt;span style="color:#8b949e;font-style:italic"&gt;// left margin x&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HF_MARGIN; &lt;span style="color:#8b949e;font-style:italic"&gt;// right margin x&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HF_MARGIN); &lt;span style="color:#8b949e;font-style:italic"&gt;// usable band width&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#555555&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// ---- HEADER ------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HF_MARGIN;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultfont[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Title – left-aligned, bold&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerTitle &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bfontBold&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bfontBold&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#1a3a6b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerTitle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headerY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HEADER_H,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultfont[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Subtitle – right-aligned&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerSubtitle &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#555555&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;headerSubtitle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$tw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.65&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headerY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HEADER_H,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Separator line below the header&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerLineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headerY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HEADER_H;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$headerLineY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rm&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$headerLineY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginArtifact(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Pagination&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Header&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headerOut&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endArtifact();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// ---- FOOTER ------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerLineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ph&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;HF_MARGIN &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FOOTER_H;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultfont[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Separator line above the footer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$footerLineY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rm&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$footerLineY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Page number – centred&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#555555&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$footerLineY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FOOTER_H,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginArtifact(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Pagination&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Footer&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$footerOut&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endArtifact();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main PDF object using the custom subclass&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; PdfWithHeaderFooter(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mm&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// string $unit = &amp;#39;mm&amp;#39;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// bool $isunicode = true,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// bool $subsetfont = false,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// bool $compress = true,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfua1&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// string $mode = &amp;#39;pdfua1&amp;#39;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// ?ObjEncrypt $objEncrypt = null,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 005&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Header &amp;amp; Footer Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example header footer&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;005_header_footer.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguageArray([&lt;span style="color:#a5d6ff"&gt;&amp;#39;a_meta_language&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Set the text that will appear in the header on every page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setHeaderText(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My Document Title&amp;#39;&lt;/span&gt;, \date(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Y-m-d&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Enable automatic header/footer: calls defaultPageContent() for every new page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 1&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page content starts below the header band (HF_MARGIN + HEADER_H + separator ≈ 25 mm).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$title1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 1 — Custom Repeating Header &amp;amp; Footer&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$title1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$body1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This is the first page of a document that demonstrates how to add a custom page header and footer that automatically repeats on every new page using tc-lib-pdf.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;The header displays the document title (left) and the date (right), separated from the page content by a thin horizontal rule. The footer shows the page number centred at the bottom, also separated by a horizontal rule.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;This is achieved by subclassing \Com\Tecnick\Pdf\Tcpdf and overriding the public defaultPageContent() method, then activating the mechanism once with enableDefaultPageContent(true) before adding any pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Because setPageContext() calls defaultPageContent() automatically every time addPage() is used, the header and footer appear on every page without any additional code in the page-building section.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txt1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add second page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 2&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$title2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 2 — Continued Content&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$title2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$body2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This is the second page. The header and footer are present here too without any manual intervention — the overridden defaultPageContent() method takes care of them automatically.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Any further pages added with addPage() would also receive the same header and footer, making the approach suitable for multi-page reports, invoices, or any document type that requires consistent page decoration.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txt2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output the PDF&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E006 : minimal</title><link>https://tcpdf.org/examples/E006_minimal/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E006_minimal/</guid><description>&lt;p&gt;The shortest script that produces a &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: insert a font, add a page, render an &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; cell, output the bytes.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E006_minimal.pdf"&gt;E006_minimal.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E006_minimal.phps"&gt;E006_minimal.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#start-here"&gt;Start Here&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E006_minimal.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E006_minimal.webp" alt="Page 1 of E006_minimal.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E006_minimal.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 006&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Minimal Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf minimal hello world basic&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;006_minimal.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add font to the page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// some HTML content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Hello, PDF!&amp;lt;/h1&amp;gt;&amp;lt;p&amp;gt;Generated with tc-lib-pdf.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// render the HTML content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Get the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E007 : signature basic</title><link>https://tcpdf.org/examples/E007_signature_basic/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E007_signature_basic/</guid><description>&lt;p&gt;A &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; B-B signature: a detached &lt;abbr title="Cryptographic Message Syntax"&gt;CMS&lt;/abbr&gt; signature embedded in the signed revision.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E007_signature_basic.pdf"&gt;E007_signature_basic.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E007_signature_basic.phps"&gt;E007_signature_basic.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E007_signature_basic.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E007_signature_basic.webp" alt="Page 1 of E007_signature_basic.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E007_signature_basic.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-21&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 007&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-B Digital Signature Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature pades pades-b-b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;007_signature_basic.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font before adding the first page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a page and a simple signed-content block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This document is signed with a PAdES-BASELINE-B signature (/ETSI.CAdES.detached).&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The CMS carries the ESS signing-certificate-v2 attribute required by ETSI EN 319 142-1.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;27&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Preferred fluent API: $pdf-&amp;gt;signature()-&amp;gt;configure(...). The &amp;#39;profile&amp;#39; option&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// selects the PAdES baseline level, one of the Sign\Config::PROFILE_* constants;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the digest is one of the Sign\DigestAlgorithm cases. The pre-facade&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $pdf-&amp;gt;setSignature([...]) method still works and takes the same array. The signing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// process and this demo&amp;#39;s limitations are rendered into the document itself (see the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// explanatory block added below).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;configure([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PROFILE_PADES_B_B,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo Office&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES-BASELINE-B signature example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Visible signature field plus one extra empty approval signature field.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;place(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrimarySignature&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Optional custom appearance stream for the signature widget (/AP /N).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Coordinate system starts from the lower-left corner of the widget rectangle.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;75.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// styles controls cell fill/border; set font and text color explicitly for AP text.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(15%,15%,15%)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Digitally signed by tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(92%,96%,100%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(20%,32%,60%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;stream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Exposed object ID of the signature widget annotation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// This can be useful for low-level workflows or custom QA checks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signatureWidgetObjId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;widgetObjectId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Primary signature widget object ID: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signatureWidgetObjId&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A second, empty signature field. It is a valid unsigned placeholder (no CMS is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// written to it) that a later party can sign in an approval workflow. Only the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PrimarySignature field above carries a signature in this example&amp;#39;s output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;emptyField(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ApprovalSignature&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the signing process and the demo&amp;#39;s limitations into the document so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// output PDF is self-documenting (this text is page content, not part of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// signed appearance stream).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#1f2a33;&amp;#34;&amp;gt;How this PAdES-BASELINE-B signature is produced&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;The library reserves a &amp;lt;code&amp;gt;/Contents&amp;lt;/code&amp;gt; placeholder inside a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;/SubFilter /ETSI.CAdES.detached&amp;lt;/code&amp;gt; signature field, hashes the document over the two&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;/ByteRange&amp;lt;/code&amp;gt; spans that surround the placeholder, and embeds a detached CMS (PKCS#7). The&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; CAdES SignerInfo carries the mandatory content-type and message-digest attributes plus the ESS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; signing-certificate-v2 attribute required by ETSI EN 319 142-1. Per the baseline the CMS signing-time&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; attribute is intentionally omitted; the claimed time is carried by the &amp;lt;code&amp;gt;/M&amp;lt;/code&amp;gt; dictionary entry&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; instead. The produced CMS verifies cryptographically against the &amp;lt;code&amp;gt;/ByteRange&amp;lt;/code&amp;gt; bytes.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#7a1f1f;&amp;#34;&amp;gt;Limitations of this demo&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;B-B has no timestamp, so the &amp;lt;code&amp;gt;/M&amp;lt;/code&amp;gt; signing time is a self-asserted claim and is not&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; cryptographically protected. Use &amp;lt;code&amp;gt;pades-b-t&amp;lt;/code&amp;gt; (example E008) for a trusted signing time&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; backed by an RFC 3161 TSA.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The bundled certificate &amp;lt;code&amp;gt;examples/data/cert/tcpdf.crt&amp;lt;/code&amp;gt; is self-signed. The CMS is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; cryptographically valid, but the signer identity does not chain to a trusted root, so viewers report&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the signature as valid with an unknown or untrusted signer. Sign with a CA-issued certificate for a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; trusted identity verdict.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E008 : signature timestamp</title><link>https://tcpdf.org/examples/E008_signature_timestamp/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E008_signature_timestamp/</guid><description>&lt;p&gt;A &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; B-T signature, adding an &lt;abbr title="Request for Comments"&gt;RFC&lt;/abbr&gt; 3161 timestamp obtained from a Timestamp Authority and verified before it is embedded.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E008_signature_timestamp.pdf"&gt;E008_signature_timestamp.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E008_signature_timestamp.phps"&gt;E008_signature_timestamp.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E008_signature_timestamp.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E008_signature_timestamp.webp" alt="Page 1 of E008_signature_timestamp.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E008_signature_timestamp.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-21&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The TSA host must be listed in allowedHosts to be reachable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(fileOptions&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allowedHosts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;freetsa.org&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 008&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-T Signature Timestamp Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature timestamp tsa pades pades-b-t&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;008_signature_timestamp.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font before adding the first page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This document is a PAdES-BASELINE-T signature: B-B plus an RFC 3161 signature timestamp.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Timestamping requires outbound HTTPS connectivity to the configured TSA endpoint.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;27&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PAdES-BASELINE-T: configure() selects the profile, timestamp() adds the TSA;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// both calls are chainable. The signing process and this demo&amp;#39;s limitations are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// rendered into the document itself (see the explanatory block added below).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;configure([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PROFILE_PADES_B_T,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo Office&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES-BASELINE-T timestamped signature example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;timestamp([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Public demo endpoint. For production use your trusted TSA service.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;host&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://freetsa.org/tsr&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;username&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;policy_oid&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nonce_enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;timeout&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;verify_peer&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// freetsa.org names its certificate with the RFC 2634 signing-certificate (v1)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// attribute, which is SHA-1 by definition, so the token is only accepted with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// this opt-in. A TSA emitting ESSCertIDv2 (SHA-256) needs no such setting.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allow_sha1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;place(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TimestampedSignature&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Optional appearance stream to clearly indicate timestamped signature intent.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(20%,20%,20%)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-T Timestamped Signature&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(96%,96%,90%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(35%,35%,10%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;stream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the signing process and the demo&amp;#39;s limitations into the document so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// output PDF is self-documenting (this text is page content, not part of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// signed appearance stream).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#1f2a33;&amp;#34;&amp;gt;How this PAdES-BASELINE-T signature is produced&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;A B-T signature is a B-B signature (example E007) plus a signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; timestamp. The library first builds the CAdES CMS, then sends the SignerInfo signature bytes to the TSA&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; and embeds the returned RFC 3161 token in the CMS as the &amp;lt;code&amp;gt;id-aa-signatureTimeStampToken&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; unsigned attribute. The output CMS verifies over the &amp;lt;code&amp;gt;/ByteRange&amp;lt;/code&amp;gt; bytes and carries a genuine&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; TSA token that binds a trusted time to the signature.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#7a1f1f;&amp;#34;&amp;gt;Limitations of this demo&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Timestamping performs a live RFC 3161 request to the TSA over HTTPS. The endpoint used here is the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; public freetsa.org demo service; use your own trusted TSA in production. The timestamp is mandatory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; for &amp;lt;code&amp;gt;pades-b-t&amp;lt;/code&amp;gt; and above, so if the TSA is unreachable or rejects the request the signing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; step throws a signing exception and no PDF is produced.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The bundled certificate is self-signed, so (as in E007) the signature is cryptographically valid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; but the signer identity is not trusted by viewers. The embedded timestamp itself is a real&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; freetsa.org token and validates.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E009 : signature ltv</title><link>https://tcpdf.org/examples/E009_signature_ltv/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E009_signature_ltv/</guid><description>&lt;p&gt;A &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; B-LT signature, with &lt;abbr title="Online Certificate Status Protocol"&gt;OCSP&lt;/abbr&gt; responses and CRLs fetched from the certificate extensions and written into the /DSS and /VRI structures.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E009_signature_ltv.pdf"&gt;E009_signature_ltv.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E009_signature_ltv.phps"&gt;E009_signature_ltv.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E009_signature_ltv.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E009_signature_ltv.webp" alt="Page 1 of E009_signature_ltv.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E009_signature_ltv.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-21&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The TSA host must be listed in allowedHosts to be reachable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(fileOptions&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allowedHosts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;freetsa.org&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 009&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-LT Long-Term Validation Signature Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature ltv dss vri pades pades-b-lt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;009_signature_ltv.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font before adding the first page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This document is a PAdES-BASELINE-LT signature: B-T plus a Document Security Store (DSS).&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The DSS/VRI embed the certificate and, when its CA exposes reachable OCSP/CRL responders, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the revocation data needed to verify offline long after expiry.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;27&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PAdES-BASELINE-LT: a B-T signature (so a TSA timestamp is required) plus the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// LTV material (DSS/VRI). The signing process and this demo&amp;#39;s limitations are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// rendered into the document itself (see the explanatory block added below).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;configure([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PROFILE_PADES_B_LT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo Office&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES-BASELINE-LT (DSS/VRI) signature example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ltv&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_ocsp&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_crl&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_certs&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_dss&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_vri&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;timestamp([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Public demo endpoint. For production use your trusted TSA service.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;host&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://freetsa.org/tsr&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;username&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;policy_oid&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nonce_enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;timeout&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;verify_peer&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// freetsa.org names its certificate with the RFC 2634 signing-certificate (v1)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// attribute, which is SHA-1 by definition, so the token is only accepted with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// this opt-in. A TSA emitting ESSCertIDv2 (SHA-256) needs no such setting.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allow_sha1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;place(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTVSignature&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Attach a reusable Form XObject as signature appearance using the official API.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Any imported page can be used as a visual signature stamp.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$stampSource&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/pdf/E006_example_minimal.pdf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_readable(&lt;span style="color:#79c0ff"&gt;$stampSource&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceFile(&lt;span style="color:#79c0ff"&gt;$stampSource&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;importPage(sourceId&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;, pageNum&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;xobject(&lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getXobjId());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Fallback appearance stream when the optional stamp source is unavailable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(15%,15%,15%)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-LT signature (DSS/VRI)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(94%,97%,92%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(20%,40%,20%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;stream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$widgetObjId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;widgetObjectId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTV signature widget object ID: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$widgetObjId&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;63&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the signing process and the demo&amp;#39;s limitations into the document so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// output PDF is self-documenting (this text is page content, not part of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// signed appearance stream).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#1f2a33;&amp;#34;&amp;gt;How this PAdES-BASELINE-LT signature is produced&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;A B-LT signature is a B-T signature (a TSA timestamp is required)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; plus long-term validation material. The signing process writes two incremental revisions: first the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; CAdES signature with its embedded RFC 3161 signature timestamp (B-T), then a Document Security Store&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (&amp;lt;code&amp;gt;/DSS&amp;lt;/code&amp;gt; with a &amp;lt;code&amp;gt;/VRI&amp;lt;/code&amp;gt; map keyed by the uppercase SHA-1 of the final signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;/Contents&amp;lt;/code&amp;gt;) carrying the validation material. OCSP/CRL retrieval follows the certificate&amp;#39;s&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; AIA and CRL-DP extensions so a validator can check the chain offline long after the certificate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; expires.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#7a1f1f;&amp;#34;&amp;gt;Limitations of this demo&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;A reachable TSA is required (live HTTPS request); if it is unreachable or rejects the request the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; signing step throws a signing exception and no PDF is produced.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The bundled self-signed demo certificate exposes neither an OCSP responder nor a CRL distribution&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; point, so the DSS embeds only the certificate bytes (no revocation data) and a validator reports B-T&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; with a DSS present rather than a full B-LT. Missing responders are tolerated and do not abort signing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Sign with a CA-issued certificate whose OCSP/CRL responders are reachable at signing time to obtain a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; full B-LT verdict.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;73&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E010 : pdfx</title><link>https://tcpdf.org/examples/E010_pdfx/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E010_pdfx/</guid><description>&lt;p&gt;The PDF/X conformance mode and what selecting it changes in the emitted document.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E010_pdfx.pdf"&gt;E010_pdfx.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E010_pdfx.phps"&gt;E010_pdfx.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E010_pdfx.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E010_pdfx.webp" alt="Page 1 of E010_pdfx.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E010_pdfx.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfx,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 010&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/X Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfx&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;010_pdfx.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/X&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: pdfx&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This generic alias currently maps to the library\&amp;#39;s baseline PDF/X print workflow.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Highlights: PDF/X identification metadata, print-oriented output intent handling, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CMYK-oriented process colors, and suppression of interactive actions that are not allowed &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;in a print-exchange profile.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E011 : pdfx1a</title><link>https://tcpdf.org/examples/E011_pdfx1a/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E011_pdfx1a/</guid><description>&lt;p&gt;PDF/X-1a output, where colour is forced to &lt;abbr title="Cyan, Magenta, Yellow, Key"&gt;CMYK&lt;/abbr&gt; and live transparency is not allowed.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E011_pdfx1a.pdf"&gt;E011_pdfx1a.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E011_pdfx1a.phps"&gt;E011_pdfx1a.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E011_pdfx1a.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E011_pdfx1a.webp" alt="Page 1 of E011_pdfx1a.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E011_pdfx1a.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/X-1a conformance example with CMYK/spot print restrictions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfx1a,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 011&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/X-1a Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfx1a&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;011_pdfx1a.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/X-1a&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: pdfx1a&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;PDF/X-1a targets an older, press-safe workflow centered on CMYK and spot colors.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Highlights: minimum PDF 1.3 output, transparency disabled, encryption disabled, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and interactive annotations/actions suppressed for a classic print handoff.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E012 : pdfx3</title><link>https://tcpdf.org/examples/E012_pdfx3/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E012_pdfx3/</guid><description>&lt;p&gt;PDF/X-3 output, which allows device-independent colour alongside an output intent.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E012_pdfx3.pdf"&gt;E012_pdfx3.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E012_pdfx3.phps"&gt;E012_pdfx3.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E012_pdfx3.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E012_pdfx3.webp" alt="Page 1 of E012_pdfx3.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E012_pdfx3.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/X-3 conformance example for color-managed print workflows.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfx3,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 012&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/X-3 Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfx3&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;012_pdfx3.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/X-3&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: pdfx3&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;PDF/X-3 keeps the print-exchange restrictions of early PDF/X while allowing &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-managed workflows beyond device CMYK.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Highlights: minimum PDF 1.3 output, output-intent identification, no transparency, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and no interactive actions that would conflict with print-only delivery.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E013 : pdfx4</title><link>https://tcpdf.org/examples/E013_pdfx4/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E013_pdfx4/</guid><description>&lt;p&gt;PDF/X-4 output, which allows live transparency and optional content groups.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E013_pdfx4.pdf"&gt;E013_pdfx4.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E013_pdfx4.phps"&gt;E013_pdfx4.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E013_pdfx4.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E013_pdfx4.webp" alt="Page 1 of E013_pdfx4.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E013_pdfx4.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/X-4 conformance example with transparency-capable print output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Also shows the colour space the SVG paints are emitted in: ISO 15930-7 admits&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * a device colour space only when the output intent defines the same space, so&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * the operators follow the printing condition passed to setOutputIntent().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfx4,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 013&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/X-4 Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfx4&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;013_pdfx4.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ISO 15930-7 and ISO 15930-8 require the destination profile to be embedded.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A real print job supplies its own condition (for example &amp;#39;FOGRA39&amp;#39; with the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// matching CMYK profile); the bundled sRGB profile keeps this example self-contained.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSRGB(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setOutputIntent(identifier&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB IEC61966-2.1&amp;#39;&lt;/span&gt;, info&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB IEC61966-2.1&amp;#39;&lt;/span&gt;, condition&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB display condition&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/X-4&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: pdfx4&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;PDF/X-4 modernizes print exchange by allowing live transparency in a color-managed workflow.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Highlights: minimum PDF 1.6 output, PDF/X-4 identification metadata, transparency retained, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encryption disabled, and interactive actions still suppressed for print conformance.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The output intent above is the 3-component sRGB profile, an RGB printing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// condition, so the DeviceRGB paints of this SVG are conformant and emitted as&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;rg&amp;#39; operators. Passing a 4-component profile to setOutputIntent() instead&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// makes the same SVG emit DeviceCMYK, and the explicit cmyk() paint is emitted&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// as &amp;#39;k&amp;#39; either way.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;@&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; width=&amp;#34;100&amp;#34; height=&amp;#34;40&amp;#34; viewBox=&amp;#34;0 0 100 40&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;rect x=&amp;#34;0&amp;#34; y=&amp;#34;0&amp;#34; width=&amp;#34;30&amp;#34; height=&amp;#34;40&amp;#34; fill=&amp;#34;cmyk(0%,0%,0%,100%)&amp;#34;/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;rect x=&amp;#34;35&amp;#34; y=&amp;#34;0&amp;#34; width=&amp;#34;30&amp;#34; height=&amp;#34;40&amp;#34; fill=&amp;#34;#d6457b&amp;#34;/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;path d=&amp;#34;M 70 0 H 100 V 40 H 70 Z&amp;#34;/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$soid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;, pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$soid&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E014 : pdfx5</title><link>https://tcpdf.org/examples/E014_pdfx5/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E014_pdfx5/</guid><description>&lt;p&gt;PDF/X-5 output, with references to external graphical content.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E014_pdfx5.pdf"&gt;E014_pdfx5.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E014_pdfx5.phps"&gt;E014_pdfx5.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E014_pdfx5.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E014_pdfx5.webp" alt="Page 1 of E014_pdfx5.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E014_pdfx5.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/X-5 conformance example.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfx5,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 014&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/X-5 Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfx5&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;014_pdfx5.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ISO 15930-7 and ISO 15930-8 require the destination profile to be embedded.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A real print job supplies its own condition (for example &amp;#39;FOGRA39&amp;#39; with the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// matching CMYK profile); the bundled sRGB profile keeps this example self-contained.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSRGB(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setOutputIntent(identifier&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB IEC61966-2.1&amp;#39;&lt;/span&gt;, info&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB IEC61966-2.1&amp;#39;&lt;/span&gt;, condition&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sRGB display condition&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/X-5&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: pdfx5&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;PDF/X-5 builds on the PDF/X-4 family for more advanced print workflows and external references.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Highlights: minimum PDF 1.6 output, transparency retained, modern PDF/X identification, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and the same print-safe suppression of unsupported interactive actions.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E015 : pdfua</title><link>https://tcpdf.org/examples/E015_pdfua/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E015_pdfua/</guid><description>&lt;p&gt;PDF/UA output tagged automatically from the &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; source, with the structure tree and parent tree generated for you.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E015_pdfua.pdf"&gt;E015_pdfua.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E015_pdfua.phps"&gt;E015_pdfua.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E015_pdfua.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E015_pdfua.webp" alt="Page 1 of E015_pdfua.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E015_pdfua.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates HTML auto-tagging in &amp;#39;pdfua&amp;#39; (generic alias) mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Every HTML element rendered by addHTMLCell() is automatically mapped to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * corresponding PDF structure role - no beginStructElem() calls required.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Compare with E063 which builds the same structure tree manually via the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * lower-level addTextCell() / beginStructElem() API.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Auto-tagged roles exercised here:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * h1-h3 → H1-H3 (heading hierarchy)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * p → P (paragraph)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * blockquote → BlockQuote&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pre → Code&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ul / ol → L (list; li → LI &amp;gt; Lbl + LBody auto-generated)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figure → Figure&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * img[alt] → Figure + /Alt (alt text written to struct-elem dictionary)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figcaption → Caption&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * table → Table (tr → TR, th → TH, td → TD, caption → Caption)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * a → Link&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfua,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/UA Auto-Tagged HTML&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 015 — pdfua mode HTML tagging showcase&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf pdfua tagged PDF accessibility HTML auto-tag structure&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E015_pdfua.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguage(code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PDF/UA requires every font to be embedded. &amp;lt;code&amp;gt;/&amp;lt;pre&amp;gt; default to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// non-embedded standard-14 Courier, so register an embedded monospace font and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// select it for those elements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setHTMLMonospaceFont(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/UA — Auto-Tagged HTML Showcase&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: &amp;lt;strong&amp;gt;pdfua&amp;lt;/strong&amp;gt; (generic alias). This document demonstrates every HTML&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; element that &amp;lt;code&amp;gt;addHTMLCell()&amp;lt;/code&amp;gt; auto-tags with a PDF structure role.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; No &amp;lt;code&amp;gt;beginStructElem()&amp;lt;/code&amp;gt; calls are required: the library maps each HTML tag&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; to its PDF role automatically when a PDF/UA mode is active. The generic&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;em&amp;gt;pdfua&amp;lt;/em&amp;gt; alias behaves identically to &amp;lt;em&amp;gt;pdfua1&amp;lt;/em&amp;gt; for structure-tree&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; output and defaults to PDF 1.7.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;1 — Heading and Paragraph Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h3&amp;gt;H3 Sub-heading&amp;lt;/h3&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;h6&amp;lt;/code&amp;gt; tags map to PDF roles &amp;lt;strong&amp;gt;H1-H6&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; The &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;P&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Heading levels are clamped to prevent skipped levels in the structure tree,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; satisfying the PDF/UA requirement that no heading level may be skipped.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;2 — Block Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;blockquote&amp;gt;&amp;amp;ldquo;Tagged PDF is the foundation of accessible PDF. Without a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; well-formed structure tree, automated tools and assistive technologies cannot&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; reliably interpret document content.&amp;amp;rdquo; &amp;amp;mdash; ISO&amp;amp;#160;14289-1 rationale&amp;lt;/blockquote&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;blockquote&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;BlockQuote&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;3 — List Structure (L &amp;amp;gt; LI &amp;amp;gt; Lbl + LBody)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Both &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ol&amp;lt;/code&amp;gt; map to the &amp;lt;strong&amp;gt;L&amp;lt;/strong&amp;gt; role.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Each &amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; auto-generates &amp;lt;strong&amp;gt;LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/strong&amp;gt; children:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Unordered item &amp;amp;mdash; &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; tags produce L/LI structure&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;The bullet character is placed in a &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is wrapped in a &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Ordered item &amp;amp;mdash; the number is auto-generated as the &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is again auto-wrapped in &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Nesting: L &amp;amp;gt; LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;4 — Figure, Image Alt-Text, and Caption&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;img src=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; alt=&amp;#34;TCPDF logo: blue text on white background&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figcaption&amp;gt;Figure 1 &amp;amp;mdash; TCPDF logo. The &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; attribute is written as&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;/Alt&amp;lt;/strong&amp;gt; in the Figure structure-element dictionary so screen readers&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; can describe the image. The &amp;lt;code&amp;gt;figcaption&amp;lt;/code&amp;gt; tag maps to&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;Caption&amp;lt;/strong&amp;gt;.&amp;lt;/figcaption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;5 — Table Structure (Table &amp;amp;gt; TR &amp;amp;gt; TH/TD)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;caption&amp;gt;Table 1 &amp;amp;mdash; HTML tags and their PDF/UA structure roles (auto-tagged by addHTMLCell)&amp;lt;/caption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;HTML tag&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PDF structure role&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;h1&amp;amp;ndash;h6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;H1&amp;amp;ndash;H6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Heading&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;p&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;blockquote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BlockQuote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pre&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Code&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;ul, ol&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;li&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LI + Lbl + LBody&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;img (with alt)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure + /Alt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figcaption, caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;tr&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;td&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;th&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TH&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Link&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Inline&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;6 — Hyperlink (Link Role)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This sentence contains a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;a href=&amp;#34;https://github.com/tecnickcom/tc-lib-pdf&amp;#34; style=&amp;#34;text-decoration:none;&amp;#34;&amp;gt;hyperlink to the tc-lib-pdf repository&amp;lt;/a&amp;gt;;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; the &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; element is tagged with the &amp;lt;strong&amp;gt;Link&amp;lt;/strong&amp;gt; structure role&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; automatically. The link text is accessible to screen readers via the structure tree.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E016 : pdfua1</title><link>https://tcpdf.org/examples/E016_pdfua1/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E016_pdfua1/</guid><description>&lt;p&gt;PDF/UA-1 output (&lt;abbr title="International Organization for Standardization"&gt;ISO&lt;/abbr&gt; 14289-1) tagged automatically from &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E016_pdfua1.pdf"&gt;E016_pdfua1.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E016_pdfua1.phps"&gt;E016_pdfua1.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E016_pdfua1.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E016_pdfua1.webp" alt="Page 1 of E016_pdfua1.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E016_pdfua1.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates HTML auto-tagging in &amp;#39;pdfua1&amp;#39; (PDF/UA-1, ISO 14289-1) mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/UA-1 is the original accessible-PDF profile, standardised as ISO 14289-1:2012&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * and built on PDF 1.7. When this mode is active, tc-lib-pdf:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Writes StructTreeRoot, ParentTree, and MarkInfo /Marked true&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Forces ViewerPreferences /DisplayDocTitle true&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Sets /Lang from the document language (default en-US)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Clamps heading levels to prevent skipped H1-H6 levels&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Emits ActualText for ligatures and special glyphs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Every HTML element rendered by addHTMLCell() is automatically mapped to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * corresponding PDF structure role - no beginStructElem() calls required.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Compare with E063 which builds the same structure tree manually.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Auto-tagged roles exercised here:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * h1-h3 → H1-H3 (heading hierarchy)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * p → P (paragraph)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * blockquote → BlockQuote&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pre → Code&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ul / ol → L (list; li → LI &amp;gt; Lbl + LBody auto-generated)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figure → Figure&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * img[alt] → Figure + /Alt (alt text written to struct-elem dictionary)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figcaption → Caption&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * table → Table (tr → TR, th → TH, td → TD, caption → Caption)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * a → Link&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfua1,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/UA-1 Auto-Tagged HTML&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 016 — pdfua1 mode HTML tagging showcase&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf pdfua1 PDF/UA-1 ISO14289 tagged PDF accessibility HTML auto-tag&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E016_pdfua1.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguage(code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PDF/UA requires every font to be embedded. &amp;lt;code&amp;gt;/&amp;lt;pre&amp;gt; default to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// non-embedded standard-14 Courier, so register an embedded monospace font and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// select it for those elements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setHTMLMonospaceFont(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/UA-1 — Auto-Tagged HTML Showcase&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: &amp;lt;strong&amp;gt;pdfua1&amp;lt;/strong&amp;gt; (ISO&amp;amp;#160;14289-1, PDF&amp;amp;#160;1.7). This document&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; demonstrates every HTML element that &amp;lt;code&amp;gt;addHTMLCell()&amp;lt;/code&amp;gt; auto-tags with a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF/UA-1 structure role. PDF/UA-1 is the original accessible-PDF standard: it mandates&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; a tagged structure tree, document language, &amp;lt;code&amp;gt;MarkInfo /Marked true&amp;lt;/code&amp;gt;,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; and &amp;lt;code&amp;gt;ViewerPreferences /DisplayDocTitle true&amp;lt;/code&amp;gt;. All of these are written&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; automatically when the &amp;lt;em&amp;gt;pdfua1&amp;lt;/em&amp;gt; mode is active.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;1 — Heading and Paragraph Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h3&amp;gt;H3 Sub-heading&amp;lt;/h3&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;h6&amp;lt;/code&amp;gt; tags map to PDF roles &amp;lt;strong&amp;gt;H1-H6&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; The &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;P&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF/UA-1 requires that heading levels are not skipped: the library clamps each&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; heading to at most one level deeper than the previous heading to maintain a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; well-formed outline that screen readers can navigate.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;2 — Block Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;blockquote&amp;gt;&amp;amp;ldquo;Tagged PDF is the foundation of accessible PDF. Without a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; well-formed structure tree, automated tools and assistive technologies cannot&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; reliably interpret document content.&amp;amp;rdquo; &amp;amp;mdash; ISO&amp;amp;#160;14289-1 rationale&amp;lt;/blockquote&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;blockquote&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;BlockQuote&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;3 — List Structure (L &amp;amp;gt; LI &amp;amp;gt; Lbl + LBody)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Both &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ol&amp;lt;/code&amp;gt; map to the &amp;lt;strong&amp;gt;L&amp;lt;/strong&amp;gt; role.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Each &amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; auto-generates &amp;lt;strong&amp;gt;LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/strong&amp;gt; children:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Unordered item &amp;amp;mdash; &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; tags produce L/LI structure&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;The bullet character is placed in a &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is wrapped in a &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Ordered item &amp;amp;mdash; the number is auto-generated as the &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is again auto-wrapped in &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Nesting: L &amp;amp;gt; LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;4 — Figure, Image Alt-Text, and Caption&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;img src=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; alt=&amp;#34;TCPDF logo: blue text on white background&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figcaption&amp;gt;Figure 1 &amp;amp;mdash; TCPDF logo. The &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; attribute becomes&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;/Alt&amp;lt;/strong&amp;gt; in the Figure structure-element dictionary.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF/UA-1 requires every Figure to carry an /Alt or /ActualText entry so&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; screen readers can describe non-text content. The &amp;lt;code&amp;gt;figcaption&amp;lt;/code&amp;gt; tag&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; maps to &amp;lt;strong&amp;gt;Caption&amp;lt;/strong&amp;gt;.&amp;lt;/figcaption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;A decorative image has an empty &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; attribute: it is emitted as an&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;Artifact&amp;lt;/strong&amp;gt;, not as a Figure, so assistive technology skips it:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;img src=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; alt=&amp;#34;&amp;#34; width=&amp;#34;45&amp;#34; height=&amp;#34;15&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;5 — Table Structure (Table &amp;amp;gt; TR &amp;amp;gt; TH/TD)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;caption&amp;gt;Table 1 &amp;amp;mdash; HTML tags and their PDF/UA-1 structure roles&amp;lt;/caption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;HTML tag&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PDF structure role&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;h1&amp;amp;ndash;h6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;H1&amp;amp;ndash;H6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Heading&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;p&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;blockquote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BlockQuote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pre&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Code&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;ul, ol&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;li&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LI + Lbl + LBody&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;img (with alt)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure + /Alt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;img (alt=&amp;#34;&amp;#34;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Artifact&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Decoration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figcaption, caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;tr&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;td&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;th&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TH&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Link&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Inline&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;6 — Hyperlink (Link Role)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This sentence contains a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;a href=&amp;#34;https://github.com/tecnickcom/tc-lib-pdf&amp;#34; style=&amp;#34;text-decoration:none;&amp;#34;&amp;gt;hyperlink to the tc-lib-pdf repository&amp;lt;/a&amp;gt;;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; the &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; element is tagged with the &amp;lt;strong&amp;gt;Link&amp;lt;/strong&amp;gt; structure role&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; automatically. PDF/UA-1 requires that link annotations have an accessible name,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; which the library derives from the link text in the structure tree.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;7 — Rules, Spans and Empty Cells&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;A horizontal rule carries no semantics, so it is emitted as an &amp;lt;strong&amp;gt;Artifact&amp;lt;/strong&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; rather than left as untagged content (PDF/UA-1 7.1):&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Cell &amp;lt;code&amp;gt;colspan&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;rowspan&amp;lt;/code&amp;gt; are recorded on the cell structure&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; element as integer &amp;lt;strong&amp;gt;/ColSpan&amp;lt;/strong&amp;gt; and &amp;lt;strong&amp;gt;/RowSpan&amp;lt;/strong&amp;gt; attributes,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; and an empty cell is kept in the tree so the row keeps its full column count (7.2):&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Col A&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Col B&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Col C&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;2&amp;#34;&amp;gt;Spans columns A and B&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;#34;2&amp;#34;&amp;gt;Spans rows&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;B3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A long table that breaks across pages: the repeated header on each continuation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// page is an Artifact, while the single Table structure element keeps all its rows.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;8 — Page-Spanning Table&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;#&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Continuation row &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;9 &amp;amp;ndash; Language Changes (/Lang)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute sets &amp;lt;strong&amp;gt;/Lang&amp;lt;/strong&amp;gt; on the structure element whose&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; language differs from the language in effect. An inline element gets a &amp;lt;strong&amp;gt;Span&amp;lt;/strong&amp;gt;,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; a block without a role of its own a &amp;lt;strong&amp;gt;Div&amp;lt;/strong&amp;gt;:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;English text with a Spanish phrase: &amp;lt;span lang=&amp;#34;es&amp;#34;&amp;gt;Trabajo revisado&amp;lt;/span&amp;gt;, then English again.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p lang=&amp;#34;de&amp;#34;&amp;gt;Ein deutscher Absatz: the P element has /Lang (de).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div lang=&amp;#34;fr&amp;#34;&amp;gt;&amp;lt;p&amp;gt;Un paragraphe dans une division fran&amp;amp;ccedil;aise.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Les deux paragraphes&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; prennent la langue de la Div.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;A run in an undetermined language: &amp;lt;span lang=&amp;#34;und&amp;#34;&amp;gt;xyzzy&amp;lt;/span&amp;gt;; a run with an empty&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; attribute, which declares an unknown language and is also written as /Lang (und):&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;span lang=&amp;#34;&amp;#34;&amp;gt;plugh&amp;lt;/span&amp;gt;.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A table row taller than a page continues on the next page: the TD structure element&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// holds the content of both pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tallcell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tallcell&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; of a cell taller than a page&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;10 &amp;amp;ndash; Row Taller Than a Page&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Lines&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tallcell&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E017 : pdfua2</title><link>https://tcpdf.org/examples/E017_pdfua2/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E017_pdfua2/</guid><description>&lt;p&gt;PDF/UA-2 output (&lt;abbr title="International Organization for Standardization"&gt;ISO&lt;/abbr&gt; 14289-2, on &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; 2.0) tagged automatically from &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E017_pdfua2.pdf"&gt;E017_pdfua2.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E017_pdfua2.phps"&gt;E017_pdfua2.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E017_pdfua2.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E017_pdfua2.webp" alt="Page 1 of E017_pdfua2.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E017_pdfua2.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates HTML auto-tagging in &amp;#39;pdfua2&amp;#39; (PDF/UA-2, ISO 14289-2) mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/UA-2 is the second generation of the accessible-PDF standard, standardised&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * as ISO 14289-2 and built on PDF 2.0. Key differences from PDF/UA-1:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Targets PDF version 2.0 (pdfver 2.0 in catalog)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Uses the PDF/UA-2 XMP identification schema&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - The same structure-tree, MarkInfo, /Lang, and heading-clamping rules apply&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Every HTML element rendered by addHTMLCell() is automatically mapped to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * corresponding PDF structure role - no beginStructElem() calls required.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Compare with E063 which builds the same structure tree manually.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Auto-tagged roles exercised here:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * h1-h3 → H1-H3 (heading hierarchy)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * p → P (paragraph)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * blockquote → BlockQuote&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pre → Code&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ul / ol → L (list; li → LI &amp;gt; Lbl + LBody auto-generated)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figure → Figure&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * img[alt] → Figure + /Alt (alt text written to struct-elem dictionary)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * figcaption → Caption&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * table → Table (tr → TR, th → TH, td → TD, caption → Caption)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * a → Link&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfua2,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/UA-2 Auto-Tagged HTML&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 017 — pdfua2 mode HTML tagging showcase&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf pdfua2 PDF/UA-2 ISO14289-2 PDF2.0 tagged PDF accessibility HTML auto-tag&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E017_pdfua2.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguage(code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PDF/UA requires every font to be embedded. &amp;lt;code&amp;gt;/&amp;lt;pre&amp;gt; default to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// non-embedded standard-14 Courier, so register an embedded monospace font and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// select it for those elements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setHTMLMonospaceFont(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansmono&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;PDF/UA-2 — Auto-Tagged HTML Showcase&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Mode: &amp;lt;strong&amp;gt;pdfua2&amp;lt;/strong&amp;gt; (ISO&amp;amp;#160;14289-2, PDF&amp;amp;#160;2.0). This document&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; demonstrates every HTML element that &amp;lt;code&amp;gt;addHTMLCell()&amp;lt;/code&amp;gt; auto-tags with a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF/UA-2 structure role. PDF/UA-2 advances the accessible-PDF standard onto the&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF&amp;amp;#160;2.0 generation: it uses the updated PDF/UA-2 XMP identification schema&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; and targets PDF version 2.0 while applying the same structure-tree, MarkInfo,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; /Lang, and heading-clamping rules as PDF/UA-1. The document infrastructure&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; difference is transparent to the HTML tagging layer — all roles map identically.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;1 — Heading and Paragraph Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h3&amp;gt;H3 Sub-heading&amp;lt;/h3&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;h6&amp;lt;/code&amp;gt; tags map to PDF roles &amp;lt;strong&amp;gt;H1-H6&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; The &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;P&amp;lt;/strong&amp;gt;.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Heading levels are clamped to prevent skipped levels: if an &amp;lt;code&amp;gt;h3&amp;lt;/code&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; follows an &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; without an intervening &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, the library&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; silently promotes it to H2 so the PDF/UA heading-nesting rule is not violated.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;2 — Block Roles&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;blockquote&amp;gt;&amp;amp;ldquo;Tagged PDF is the foundation of accessible PDF. Without a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; well-formed structure tree, automated tools and assistive technologies cannot&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; reliably interpret document content.&amp;amp;rdquo; &amp;amp;mdash; ISO&amp;amp;#160;14289 rationale&amp;lt;/blockquote&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;blockquote&amp;lt;/code&amp;gt; tag maps to &amp;lt;strong&amp;gt;BlockQuote&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;3 — List Structure (L &amp;amp;gt; LI &amp;amp;gt; Lbl + LBody)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Both &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ol&amp;lt;/code&amp;gt; map to the &amp;lt;strong&amp;gt;L&amp;lt;/strong&amp;gt; role.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Each &amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; auto-generates &amp;lt;strong&amp;gt;LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/strong&amp;gt; children:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Unordered item &amp;amp;mdash; &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;li&amp;lt;/code&amp;gt; tags produce L/LI structure&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;The bullet character is placed in a &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is wrapped in a &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt; child element&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ul&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Ordered item &amp;amp;mdash; the number is auto-generated as the &amp;lt;strong&amp;gt;Lbl&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Body text is again auto-wrapped in &amp;lt;strong&amp;gt;LBody&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;li&amp;gt;Nesting: L &amp;amp;gt; LI &amp;amp;gt; {Lbl, LBody}&amp;lt;/li&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/ol&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;4 — Figure, Image Alt-Text, and Caption&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;img src=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; alt=&amp;#34;TCPDF logo: blue text on white background&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;figcaption&amp;gt;Figure 1 &amp;amp;mdash; TCPDF logo. The &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; attribute becomes&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;/Alt&amp;lt;/strong&amp;gt; in the Figure structure-element dictionary.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; PDF/UA-2 (like PDF/UA-1) requires every Figure to carry an /Alt or&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; /ActualText entry. The &amp;lt;code&amp;gt;figcaption&amp;lt;/code&amp;gt; tag maps to&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;Caption&amp;lt;/strong&amp;gt;.&amp;lt;/figcaption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/figure&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;A decorative image has an empty &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; attribute: it is emitted as an&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;strong&amp;gt;Artifact&amp;lt;/strong&amp;gt;, not as a Figure, so assistive technology skips it:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;img src=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgPath&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; alt=&amp;#34;&amp;#34; width=&amp;#34;45&amp;#34; height=&amp;#34;15&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;5 — Table Structure (Table &amp;amp;gt; TR &amp;amp;gt; TH/TD)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;caption&amp;gt;Table 1 &amp;amp;mdash; HTML tags and their PDF/UA-2 structure roles&amp;lt;/caption&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;HTML tag&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PDF structure role&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;h1&amp;amp;ndash;h6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;H1&amp;amp;ndash;H6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Heading&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;p&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;blockquote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BlockQuote&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pre&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Code&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;ul, ol&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;li&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LI + Lbl + LBody&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;img (with alt)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Figure + /Alt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;img (alt=&amp;#34;&amp;#34;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Artifact&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Decoration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;figcaption, caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Caption&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Illustration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;tr&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;td&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;th&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TH&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Table&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Link&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Inline&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;6 — Hyperlink (Link Role)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This sentence contains a&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;a href=&amp;#34;https://github.com/tecnickcom/tc-lib-pdf&amp;#34; style=&amp;#34;text-decoration:none;&amp;#34;&amp;gt;hyperlink to the tc-lib-pdf repository&amp;lt;/a&amp;gt;;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; the &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; element is tagged with the &amp;lt;strong&amp;gt;Link&amp;lt;/strong&amp;gt; structure role&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; automatically. In PDF/UA-2 (as in PDF/UA-1), link annotations must be accessible;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; the library derives the accessible name from the link text in the structure tree.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;7 &amp;amp;ndash; Language Changes (/Lang)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute sets &amp;lt;strong&amp;gt;/Lang&amp;lt;/strong&amp;gt; on the structure element whose&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; language differs from the language in effect. An inline element gets a &amp;lt;strong&amp;gt;Span&amp;lt;/strong&amp;gt;,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; a block without a role of its own a &amp;lt;strong&amp;gt;Div&amp;lt;/strong&amp;gt;:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;English text with a Spanish phrase: &amp;lt;span lang=&amp;#34;es&amp;#34;&amp;gt;Trabajo revisado&amp;lt;/span&amp;gt;, then English again.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p lang=&amp;#34;de&amp;#34;&amp;gt;Ein deutscher Absatz: the P element has /Lang (de).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div lang=&amp;#34;fr&amp;#34;&amp;gt;&amp;lt;p&amp;gt;Un paragraphe dans une division fran&amp;amp;ccedil;aise.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Les deux paragraphes&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; prennent la langue de la Div.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;A run in an undetermined language: &amp;lt;span lang=&amp;#34;und&amp;#34;&amp;gt;xyzzy&amp;lt;/span&amp;gt;; a run with an empty&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; attribute, which declares an unknown language and is also written as /Lang (und):&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;span lang=&amp;#34;&amp;#34;&amp;gt;plugh&amp;lt;/span&amp;gt;.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E018 : html page span</title><link>https://tcpdf.org/examples/E018_html_page_span/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E018_html_page_span/</guid><description>&lt;p&gt;An &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; block long enough to span page breaks, showing how the flow continues onto the following pages.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E018_html_page_span.pdf"&gt;E018_html_page_span.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E018_html_page_span.phps"&gt;E018_html_page_span.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E018_html_page_span.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E018_html_page_span.webp" alt="Page 1 of E018_html_page_span.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E018_html_page_span.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 018&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Page Span Handling&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html page span pagination flow layout&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;018_html_page_span.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Some special characters: &amp;amp;lt; € &amp;amp;euro; &amp;amp;#8364; &amp;amp;amp; è &amp;amp;egrave; &amp;amp;copy; &amp;amp;gt; \\slash \\\\double-slash \\\\\\triple-slash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h2&amp;gt;List&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;List example:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;bold text&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;i&amp;gt;italic text&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;underlined text&amp;lt;/u&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;b&amp;lt;i&amp;gt;bi&amp;lt;u&amp;gt;biu&amp;lt;/u&amp;gt;bi&amp;lt;/i&amp;gt;b&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34; dir=&amp;#34;ltr&amp;#34;&amp;gt;link to https://tcpdf.org&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.&amp;lt;br /&amp;gt;Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;SUBLIST&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;li&amp;gt;row one&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&#9;&amp;lt;li&amp;gt;sublist&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;li&amp;gt;row two&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;T&amp;lt;/b&amp;gt;E&amp;lt;i&amp;gt;S&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;del&amp;gt;line through&amp;lt;/del&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;font size=&amp;#34;+3&amp;#34;&amp;gt;font + 3&amp;lt;/font&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;sub&amp;gt;subscript&amp;lt;/sub&amp;gt; normal &amp;lt;sup&amp;gt;superscript&amp;lt;/sup&amp;gt; normal&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;dl&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dt&amp;gt;Coffee&amp;lt;/dt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dd&amp;gt;Black hot drink&amp;lt;/dd&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dt&amp;gt;Milk&amp;lt;/dt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dd&amp;gt;White cold drink&amp;lt;/dd&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/dl&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;The words &amp;amp;#8220;&amp;lt;span dir=&amp;#34;rtl&amp;#34;&amp;gt;&amp;amp;#1502;&amp;amp;#1494;&amp;amp;#1500; [mazel] &amp;amp;#1496;&amp;amp;#1493;&amp;amp;#1489; [tov]&amp;lt;/span&amp;gt;&amp;amp;#8221; mean &amp;amp;#8220;Congratulations!&amp;amp;#8221;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;This is just an example of html code to demonstrate some supported CSS inline styles.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-weight: bold;&amp;#34;&amp;gt;bold text&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;text-decoration: line-through;&amp;#34;&amp;gt;line-trough&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;text-decoration: underline line-through;&amp;#34;&amp;gt;underline and line-trough&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;color: rgb(0, 128, 64);&amp;#34;&amp;gt;color&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;background-color: rgb(255, 0, 0); color: rgb(255, 255, 255);&amp;#34;&amp;gt;background color&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-weight: bold;&amp;#34;&amp;gt;bold&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: xx-small;&amp;#34;&amp;gt;xx-small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: x-small;&amp;#34;&amp;gt;x-small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: small;&amp;#34;&amp;gt;small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: medium;&amp;#34;&amp;gt;medium&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: large;&amp;#34;&amp;gt;large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: x-large;&amp;#34;&amp;gt;x-large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: xx-large;&amp;#34;&amp;gt;xx-large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;HTML page break example&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Styled block (background + border) spanning multiple pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$blockchunk&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;veritatis et quasi architecto beatae vitae dicta sunt explicabo.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$blockhtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Styled block across pages&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;background-color:#ffeeaa;border:1px solid #888;padding:4px&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Block-level container&amp;lt;/b&amp;gt; &amp;amp;mdash; the background and border continue &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;on each page until the content ends.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&lt;span style="color:#79c0ff"&gt;$blockchunk&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$blockhtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Table spanning multiple pages with header row replay.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;text-align:right&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \number_format(&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.34&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tablehtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Table across pages&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;#&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tablehtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;220&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Table rows containing DIV blocks with an explicit CSS height.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Odd rows use a styled DIV (text color + background color), even rows&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// use a bare DIV with only the height set: both must produce the same&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// row height, and no row may be split across pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableRowsB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$divstyleB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;%&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color:blue; background-color:yellow; height:100px;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color:#007700; height:100px;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableRowsB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;lt;div style=&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$divstyleB&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;DIV block #&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; (100px high)&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;text-align:right&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \number_format(&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.34&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tablehtmlB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Fixed-height DIV blocks inside table cells&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;#&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableRowsB&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tablehtmlB&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E019 : page regions</title><link>https://tcpdf.org/examples/E019_page_regions/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E019_page_regions/</guid><description>&lt;p&gt;Text regions computed as equal columns from the content area, with text flowing from one into the next.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E019_page_regions.pdf"&gt;E019_page_regions.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E019_page_regions.phps"&gt;E019_page_regions.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E019_page_regions.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E019_page_regions.webp" alt="Page 1 of E019_page_regions.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E019_page_regions.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 019&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Page regions example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example page regions columns&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;019_page_regions.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Two text regions (columns) generated from the content area.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$columnGap&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;210.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;297.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnGap&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;region&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnGap&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Regions: two flowing columns across pages&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: addTextCell() coordinates are relative to the current page region&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$leftPrefix&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LEFT/RIGHT REGION FLOW. This paragraph is rendered using page regions. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;When the first region is full, writing continues in the next region, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;then on the next page with the same two-region layout. &amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$baseParagraph&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chunks&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chunks&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Section &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;. &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftPrefix&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseParagraph&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$content&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Two columns with automatic region/page breaks&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$chunks&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion(&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regionWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$content&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Same example using HTML ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;region&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnGap&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$columnWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_replace(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt;, \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$content&lt;/span&gt;, \ENT_QUOTES &lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt; \ENT_SUBSTITUTE, &lt;span style="color:#a5d6ff"&gt;&amp;#39;UTF-8&amp;#39;&lt;/span&gt;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;selectRegion(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regionH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion(&lt;span style="color:#79c0ff"&gt;$pageH&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentHtml&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$regionH&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$regionH&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$regionH&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Test add addTextCellXY() for absolute page coordinates ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;addTextCellXY() uses absolute page coordinates [X=0, Y=0].&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;addTextCell() uses relative page region coordinates [x=0, y=0] =&amp;gt; [X=15, Y=15].&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E020 : barcodes</title><link>https://tcpdf.org/examples/E020_barcodes/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E020_barcodes/</guid><description>&lt;p&gt;Every supported barcode symbology drawn into a single document, linear, postal, GS1, and two-dimensional.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E020_barcodes.pdf"&gt;E020_barcodes.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E020_barcodes.phps"&gt;E020_barcodes.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#barcodes"&gt;Barcodes&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;One page per symbology, with input ranges and SVG output: &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/linear/"&gt;Linear&lt;/a&gt;, &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/2d/"&gt;2D&lt;/a&gt;, &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/postal/"&gt;Postal&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E020_barcodes.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E020_barcodes.webp" alt="Page 1 of E020_barcodes.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E020_barcodes.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: this library encodes the data it is given. Several formats carry a number that only&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// its registration body can issue, so a symbol is valid in its scheme only once that number&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// has been obtained: GS1 member organisations issue the company prefix used by EAN, UPC,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ITF-14, GS1-128, SSCC-18, GS1-14 and GS1 DataBar; HIBCC assigns the Labeler Identification&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Code used by HIBC39, HIBC128, HIBCDM, HIBCQR and HIBCAZ; Royal Mail issues the Supply Chain&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ID carried by MAILMARK; IFA GmbH allocates the PZN Pharmazentralnummer; Deutsche Post DHL&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// assigns the customer number and street codes of IDENTCODE and LEITCODE; AIFA assigns the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Italian AIC number encoded by C32.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: the symbology names below identify the encoded formats and belong to their respective&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// owners: QR Code (DENSO WAVE INCORPORATED); GS1, GS1-128 and GS1 DataBar (GS1 AISBL);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Mailmark (Royal Mail Group Ltd); Intelligent Mail (United States Postal Service);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PHARMA-CODE (Laetus GmbH); Telepen (S.B. Electronic Systems Ltd); HIBC and HIBCC (Health&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Industry Business Communications Council); KIX (PostNL); Identcode and Leitcode (Deutsche&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Post DHL). They are used descriptively; no affiliation with or endorsement by their owners&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// is claimed or implied. GS1 licenses the claims necessary to implement its standards under&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// its IP Policy (https://www.gs1.org/standards/ip) to GS1 members and to the participants of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the work group that developed the standard, rather than to the public at large.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 020&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;All Barcode Types Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example barcodes 1D 2D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;020_barcodes.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$linear&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AUSPOST&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;6254516251ABC123&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Australia Post 4-State Customer Barcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Australia Post 4-State Customer Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Australian postal sorting and customer routing barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 128 Set A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;High-density linear code for control characters, logistics, and internal labeling.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 128 Set B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;High-density linear code for mixed upper/lower-case text in shipping and warehousing.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128C&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 128 Set C&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric-optimized Code 128 variant for compact encoded numbers and IDs.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 128 (Auto)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;General-purpose high-density linear symbology with automatic charset selection.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C16K&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ab0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 16K&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Uniform Symbology Specification Code 16K&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stacked Code 128 symbology for small items requiring multi-row data.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C32&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;012345676&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 32&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Italian Pharmacode (IMH, radix 32)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Italian pharmaceutical product coding derived from Code 39.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C49&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MULTIPLE ROWS IN CODE 49&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 49&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/AIM BC6&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Multi-row stacked symbology for compact alphanumeric data.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39E+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 39 Extended + checksum&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI MH10.8M / USS Code 39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Extended Code 39 character support with checksum for asset tags and internal IDs.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39E&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 39 Extended&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI MH10.8M / USS Code 39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Expanded Code 39 set used for industrial and inventory labels.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 39 + checksum&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI MH10.8M / USS Code 39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 39 with checksum to improve scan reliability in production environments.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI MH10.8M-1983 (USD-3 / 3 of 9)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Classic alphanumeric barcode used for parts, equipment, and non-retail logistics.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C93&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 93&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USS-93&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compact linear code often used where Code 39 would be too wide.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODABAR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Codabar&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NW-7 (legacy)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Legacy symbology used in libraries, blood banks, and some healthcare systems.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE11&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Code 11&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USD-8 (legacy)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric code widely used in telecommunications and labeling of equipment.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABAR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;09501101530010&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Omnidirectional&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 item identification scannable from any orientation at retail point of sale.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABAREXP&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(01)90614141000015(3202)000150&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Expanded&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Encodes GS1 Application Identifiers such as weight, price, and dates.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABAREXPSTACK&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(01)90614141000015(3202)000150&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Expanded Stacked&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stacked form of DataBar Expanded for narrow label areas.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABARLIMITED&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;15012345678907&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Limited&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Item identification for small retail packages not scanned omnidirectionally.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABARSTACK&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;00012345678905&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Stacked&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two-row DataBar for very small items such as loose produce.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABARSTACKOMNI&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;00034567890125&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Stacked Omnidirectional&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two-row omnidirectional DataBar for point-of-sale scanning of small items.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATABARTRUNC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;00012345678905&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 DataBar Truncated&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24724&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reduced-height DataBar for non-retail item marking.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN13&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN-13&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Global retail product identification barcode used on consumer goods.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN 2-digit add-on&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC add-on&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Supplementary add-on commonly used to encode issue numbers for periodicals.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12345&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN 5-digit add-on&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC add-on&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Supplementary add-on often used for suggested retail pricing on books/magazines.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN8&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1234567&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EAN-8&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compact retail barcode for very small consumer packages.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS114&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;9501101020917&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1-14 / EAN-14 / SCC-14&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 General Specifications (GS1-128 with AI 01)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Trade item grouping identifier (GTIN-14) for cases and pallets.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(01)09501101020917(10)AB-123&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1-128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15417 with GS1 Application Identifiers&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Supply-chain data carrier for batch, expiry, and logistics attributes.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC in Code 128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/HIBC 2.6 and ANSI/HIBC 1.3&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Health industry supplier labeling of medical products in Code 128.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC in Code 39&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/HIBC 2.6 and ANSI/HIBC 1.3&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Health industry supplier labeling of medical products in Code 39.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I25+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Interleaved 2 of 5 + checksum&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ITF / Interleaved 2 of 5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric shipping and carton labels with checksum for improved integrity.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I25&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Interleaved 2 of 5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ITF / Interleaved 2 of 5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric-only barcode frequently used on corrugated packaging.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IDENTCODE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;563102430313&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Deutsche Post Identcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Deutsche Post Identcode (Interleaved 2 of 5 based)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;German parcel identification for Deutsche Post shipments.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IMB&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;01234567094987654321-01234567891&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Intelligent Mail Barcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USPS-B-3200&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USPS mail sorting and tracking barcode for letters and flats.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IMBPRE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IMB pre-processed&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USPS Intelligent Mail (pre-encoded pattern)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Feeds a precomputed IMB state pattern when encoding is prepared upstream.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ITF14&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;09312345678907&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ITF-14&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 General Specifications (ITF-14)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GTIN-14 marking on corrugated cartons and outer packaging, with bearer bars.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;JPPOST&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;910-00673-80-25J1-2B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Japan Post Customer Barcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Japan Post Customer Barcode (4-state)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Japanese postal address and routing barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;KIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;KIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PostNL KIX (4-state)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Dutch postal customer indexing and routing barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LEITCODE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;21348075016401&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Deutsche Post Leitcode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Deutsche Post Leitcode (Interleaved 2 of 5 based)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;German postal routing code for destination sorting.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LOGMARS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12345/ABCDE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LOGMARS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MIL-STD-1189B (Code 39 profile)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;US military logistics marking and asset labeling.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MAILMARK&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;41038422416563762EF61AH8T &amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Royal Mail Mailmark&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Royal Mail Mailmark 4-state (types C and L)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UK mail tracking and reporting barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI + checksum&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI Plessey (variant)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Inventory-oriented numeric coding with checksum for warehouse workflows.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MSI Plessey (variant)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric barcode used in stock control and shelf labeling.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PHARMA2T&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// the two-track Pharmacode encodes an integer between 4 and 64570080&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;12345678&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pharmacode two-track&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pharmacode (2-track variant)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pharmaceutical package line verification using two-track bar patterns.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PHARMA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// the Pharmacode encodes an integer between 3 and 131070&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;123456&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pharmacode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Laetus Pharmacode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pharmaceutical packaging control on production lines.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PLANET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PLANET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USPS PLANET (legacy)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Legacy USPS mail tracking and routing barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PLESSEY&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789ABCDEF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Plessey Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Plessey (legacy)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Legacy hexadecimal symbology used for retail shelf labeling.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;POSTNET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;POSTNET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;USPS POSTNET (legacy)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Legacy USPS ZIP and delivery-point encoding for mail sorting.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PZN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2758089&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PZN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IFA Pharmazentralnummer (Code 39 based)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;German pharmaceutical central product number for medicines.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RMS4CC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RMS4CC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Royal Mail 4-State Customer Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UK postal addressing and sorting barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25+&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Standard 2 of 5 + checksum&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Standard 2 of 5 (industrial)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric industrial barcode with checksum for improved reliability.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Standard 2 of 5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Standard 2 of 5 (industrial)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Legacy numeric industrial labeling barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25DATALOGIC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 Datalogic&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 Datalogic (China Post Code)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric variant used by China Post and legacy Datalogic systems.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25IATA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 IATA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 IATA (Computer Identics 2 of 5)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Air cargo and baggage handling numeric barcode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S25MATRIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 Matrix&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2 of 5 Matrix&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Numeric symbology denser than Standard 2 of 5 for industrial labels.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SSCC18&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;39501101020917171&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SSCC-18&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 General Specifications (GS1-128 with AI 00)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Serial Shipping Container Code identifying logistic units.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TELEPEN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ABC123&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Telepen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Telepen (full ASCII)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Library and academic sector symbology encoding the full ASCII set.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPCA&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;72527273070&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPC-A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Retail barcode primarily used in North America.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPCE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;725277&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UPC-E&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 EAN/UPC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compressed UPC format for small retail packages.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$square&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LRAW&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0101010101&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1D raw mode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Library raw mode (non-standard)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Debug/test mode that directly renders provided 1D bit patterns.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SRAW&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0101,1010&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2D raw mode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Library raw mode (non-standard)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Debug/test mode that directly renders provided 2D bit grids.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AZTEC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ABCDabcd01234&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Aztec Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24778:2008&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compact 2D code used for tickets, transport passes, and mobile scans.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AZTEC,50,A,A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ABCDabcd01234&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Aztec Code (with parameters)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24778:2008&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Aztec variant with explicit encoder parameters for size/error tuning.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AZTECRUNE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;125&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Aztec Rune&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 24778:2008 Annex A&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Minimal Aztec symbol encoding a single value from 0 to 255.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15438:2006&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stacked 2D barcode used in transport, identity, and archival workflows.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF417C&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compact PDF417&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 15438:2006 (compact/truncated)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Truncated PDF417 without right row indicators for narrow print areas.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QRCODE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QR Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 18004&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widely used 2D code for URLs, mobile interactions, and consumer scanning.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QRCODE,H,ST,0,0&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;abcdefghijklmnopqrstuvwxy0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QR Code (with parameters)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 18004&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QR variant with explicit error correction and encoding parameters.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MICROQR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Micro QR Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 18004&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reduced-size QR variant for small marking areas and short payloads.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MICROQR,M,4,AN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ABCDEFGHIJKLMNOPQR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Micro QR Code (with parameters)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 18004&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Micro QR variant with explicit error correction, version, and encoding mode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HANXIN&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Han Xin Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GB/T 21049, ISO/IEC 20830&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chinese national 2D code for logistics, product identification, and Chinese text.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HANXIN,L3,10,2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1234567890ABCDEFGabcdefg,Han Xin Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Han Xin Code (with parameters)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GB/T 21049, ISO/IEC 20830&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Han Xin variant with explicit error correction level, symbol version, and mask pattern.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCAZ&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC in Aztec Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/HIBC 2.6 and ANSI/HIBC 1.3&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Health industry supplier labeling of medical products in Aztec Code.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCDM&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC in Data Matrix&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/HIBC 2.6 and ANSI/HIBC 1.3&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Health industry supplier labeling of medical products in Data Matrix.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBCQR&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;+A123BJC5D6E71&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HIBC in QR Code&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ANSI/HIBC 2.6 and ANSI/HIBC 1.3&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Health industry supplier labeling of medical products in QR Code.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATAMATRIX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Data Matrix (square)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 16022&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Compact 2D marking used in electronics, medical devices, and manufacturing.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATAMATRIX,R&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0123456789012345678901234567890123456789&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Data Matrix (rectangular)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 16022&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rectangular Data Matrix for narrow labels and constrained print areas.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATAMATRIX,S,GS1&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;01095011010209171719050810ABCD1234&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2110&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 Data Matrix (square)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 16022 with GS1 AIs&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1-compliant 2D code for regulated product IDs and traceability.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DATAMATRIX,R,GS1&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;01095011010209171719050810ABCD1234&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2110&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 Data Matrix (rectangular)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 16022 with GS1 AIs&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rectangular GS1 Data Matrix for compact traceability labels.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DMRE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A1B2C3D4E5F6G7H8I9J0K1L2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Data Matrix Rectangular Extension&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 21471&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Extra rectangular symbol sizes for marking thin parts and narrow labels.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DMRE,GS1&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;01095011010209171719050810ABCD1234&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \chr(&lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2110&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1 Data Matrix Rectangular Extension&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 21471 with GS1 AIs&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;GS1-compliant rectangular extension for traceability on narrow labels.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DMRE,N,ASCII,8x144&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A1B2C3D4E5F6G7H8I9J0K1L2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Data Matrix Rectangular Extension 8x144&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ISO/IEC 21471&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rectangular extension with an explicit symbol size and encoding mode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// notices from tc-lib-barcode README.md&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$notices&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h1 { font-size: 12pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h2 { font-size: 10pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; p { font-size: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; table { font-size: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; th { text-align: left; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Barcode Types Catalog (3/3): Registration Bodies and Trademarks&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Source: tc-lib-barcode README.md&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Identifiers issued by a registration body&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The library encodes the data it is given. Several formats carry a number that only its&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; registration body can issue, so a symbol is valid in its scheme only once that number has been&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; obtained.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34; width=&amp;#34;100%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th width=&amp;#34;35%&amp;#34; bgcolor=&amp;#34;#eeeeee&amp;#34;&amp;gt;Format&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th width=&amp;#34;65%&amp;#34; bgcolor=&amp;#34;#eeeeee&amp;#34;&amp;gt;Issued by&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;EAN, UPC, ITF-14, GS1-128, SSCC-18, GS1-14, GS1 DataBar&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;a GS1 member organisation, which issues the company prefix&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;HIBC39, HIBC128, HIBCDM, HIBCQR, HIBCAZ&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;HIBCC, which assigns the Labeler Identification Code&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;MAILMARK&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Royal Mail, which issues the Supply Chain ID carried in the barcode&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;PZN&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;IFA GmbH, which allocates the Pharmazentralnummer&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;IDENTCODE, LEITCODE&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Deutsche Post DHL, which assigns the customer number and the street codes&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;C32&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;AIFA, which assigns the Italian AIC number&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Trademarks&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The names below identify the symbologies this library encodes and belong to their respective&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; owners. They are used descriptively; no affiliation with or endorsement by their owners is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; claimed or implied.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34; width=&amp;#34;100%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th width=&amp;#34;35%&amp;#34; bgcolor=&amp;#34;#eeeeee&amp;#34;&amp;gt;Name&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th width=&amp;#34;65%&amp;#34; bgcolor=&amp;#34;#eeeeee&amp;#34;&amp;gt;Owner&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;QR Code&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;DENSO WAVE INCORPORATED&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;GS1, GS1-128, GS1 DataBar&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;GS1 AISBL&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Mailmark&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Royal Mail Group Ltd&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Intelligent Mail&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;United States Postal Service&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;PHARMA-CODE&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Laetus GmbH&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Telepen&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;S.B. Electronic Systems Ltd&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;HIBC, HIBCC&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Health Industry Business Communications Council&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;KIX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;PostNL&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Identcode, Leitcode&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Deutsche Post DHL&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;GS1 licenses the claims necessary to implement its standards under its IP Policy&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (https://www.gs1.org/standards/ip), to GS1 members and to the participants of the work group&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that developed the standard, rather than to the public at large.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;formatSampleDataForText&lt;/span&gt;(string &lt;span style="color:#79c0ff"&gt;$sample&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bytes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \unpack(&lt;span style="color:#a5d6ff"&gt;&amp;#39;C*&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sample&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$bytes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$bytes&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;FNC1&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;126&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \chr(&lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;\\x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \strtoupper(\str_pad((string) \dechex(&lt;span style="color:#79c0ff"&gt;$byte&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, STR_PAD_LEFT));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;renderBarcodeSection&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$items&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int &lt;span style="color:#79c0ff"&gt;$sectionIndex&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int &lt;span style="color:#79c0ff"&gt;$sectionCount&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bool &lt;span style="color:#79c0ff"&gt;$square&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginTop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginBottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginTop&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginBottom&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$maxY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginBottom&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawHeader&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; () &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sectionIndex&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sectionCount&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Barcode Types Catalog (&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sectionIndex&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sectionCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;): &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Source type list: tc-lib-barcode example/index.php&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; };&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHeader&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$items&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sampleText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; formatSampleDataForText(&lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$desc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Standard: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;standard&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Use: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;use&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample data: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sampleText&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$descTopOffset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4.5&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$descLineSpace&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeGap&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeBlockGap&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;while&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$descTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$descTopOffset&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$descOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$desc&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$descTopY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$descLineSpace&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$descBBox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodePosY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$descBBox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$descBBox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeGap&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$square&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$metrics&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;barcode&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt;])&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArray();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ncols&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (int) &lt;span style="color:#79c0ff"&gt;$metrics&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ncols&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$nrows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (int) &lt;span style="color:#79c0ff"&gt;$metrics&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;nrows&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$targetMinBarWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.65&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (int) \max(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, \min(&lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;, \round(&lt;span style="color:#79c0ff"&gt;$ncols&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetMinBarWidth&lt;/span&gt;)));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// stacked symbologies keep the module aspect ratio, the other ones use a fixed bar height&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nrows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; (int) \max(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, \round((&lt;span style="color:#79c0ff"&gt;$barcodeWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nrows&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ncols&lt;/span&gt;)) &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeModel&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;barcode&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcodeObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeModel&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArray();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$itemBottomY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodePosY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$barcodeData&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;full_height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$nextCursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$itemBottomY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeBlockGap&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$nextCursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$maxY&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;break&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginTop&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginBottom&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHeader&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$head&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;[&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;] &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$head&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cursorY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$descOut&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$item&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;code&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodePosY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; style&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cursorY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nextCursorY&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;renderNoticePage&lt;/span&gt;(\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginRight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;renderBarcodeSection(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$linear&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Linear&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;renderBarcodeSection(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$square&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Square / 2D&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;renderNoticePage(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$notices&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E021 : font stretch spacing</title><link>https://tcpdf.org/examples/E021_font_stretch_spacing/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E021_font_stretch_spacing/</guid><description>&lt;p&gt;Horizontal font stretching and character spacing applied to text cells.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E021_font_stretch_spacing.pdf"&gt;E021_font_stretch_spacing.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E021_font_stretch_spacing.phps"&gt;E021_font_stretch_spacing.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E021_font_stretch_spacing.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E021_font_stretch_spacing.webp" alt="Page 1 of E021_font_stretch_spacing.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E021_font_stretch_spacing.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 021&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Font stretching, scaling and spacing&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example font stretching scaling spacing&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;021_font_stretch_spacing.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$applyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// $stretching is a font-stack ratio (1.0 = 100%); the percent-valued modes&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// below divide by 100 before calling this helper.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$measureText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ordarr&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;uniconv&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;strToOrdArr(&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOrdArrWidth(&lt;span style="color:#79c0ff"&gt;$ordarr&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$ordarr&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawBoxedLine&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$applyFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$applyFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$baseline&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextLine(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseline&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTitleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTextFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert one neutral font before addPage() so page context has a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTitleFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Example 021 - Font stretching, scaling and spacing&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTextFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This mirrors the legacy cell stretch sample using tc-lib-pdf font spacing/stretching controls.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;23&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sample&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TEST CELL STRETCH: scaling and spacing&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$left&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$top&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$applyFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#79c0ff"&gt;$ordarr&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$measureText&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sample&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textChars&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$ordarr&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$scaleFitRatio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$scaleForceRatio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$scaleFit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$scaleFitRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$scaleForce&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$scaleForceRatio&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacingFit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$textChars&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spacingFit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textChars&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacingForce&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textChars&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spacingForce&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$targetWidthPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseWidthPoints&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textChars&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;no stretch&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;scaling (fit)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$scaleFit&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;force scaling&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$scaleForce&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;spacing (fit)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacingFit&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;force spacing&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacingForce&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$firstBlockEndY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$top&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$modes&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$top&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cellh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;%s [stretch=%.1f%%, spacing=%.3fpt]&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setNeutralTextFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextLine(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$left&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.5&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawBoxedLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sample&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$left&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellh&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$firstBlockEndY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$firstBlockEndY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellh&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$secondIntroY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$firstBlockEndY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$secondTitleY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$secondIntroY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$secondRowsStartY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$secondTitleY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTextFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Second section: global font stretching and spacing combinations (legacy example style).&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$secondIntroY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setNeutralTitleFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Global stretching/spacing matrix&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$secondTitleY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$stretchVals&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110.0&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacingVals&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0.72&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.72&lt;/span&gt;]; &lt;span style="color:#8b949e;font-style:italic"&gt;// ~ -0.254, 0, +0.254 mm expressed in points.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sample2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stretching and spacing test text&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$secondRowsStartY&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$stretchVals&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$spacingVals&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$line&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Stretching %3.0f%%, Spacing %+.3fpt&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setNeutralTextFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextLine(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$line&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.5&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawBoxedLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sample2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9.5&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E022 : cell borders</title><link>https://tcpdf.org/examples/E022_cell_borders/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E022_cell_borders/</guid><description>&lt;p&gt;Cell border styles and background fills, side by side.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E022_cell_borders.pdf"&gt;E022_cell_borders.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E022_cell_borders.phps"&gt;E022_cell_borders.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E022_cell_borders.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E022_cell_borders.webp" alt="Page 1 of E022_cell_borders.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E022_cell_borders.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 022&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell borders&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example cell borders&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;022_cell_borders.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sideStyles&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#000000&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;//$fillColor,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$sideStyles&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$side&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$side&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$borderPos&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$borderPos&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell Borders&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$basicLineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;0.508&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#0080ff&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffff80&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$maskToSide&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$masks&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TRB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LRB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LT&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TR&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LR&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$masks&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mask&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$active&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mask&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mask&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sideStyles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$maskToSide&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$side&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\str_contains(&lt;span style="color:#79c0ff"&gt;$active&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$side&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sideStyles&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$basicLineStyle&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$mask&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$sideStyles&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$normalBorders&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$multiBorders&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#00ff00&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff00ff&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#0000ff&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \array_merge(&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;), [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$advX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$normalBorders&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$multiBorders&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB EXT&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$normalBorders&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_EXTERNAL,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawStyledCell&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTRB INT&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$advY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$buildCellStyles&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$normalBorders&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_INTERNAL,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E023 : cell alignment</title><link>https://tcpdf.org/examples/E023_cell_alignment/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E023_cell_alignment/</guid><description>&lt;p&gt;Horizontal alignment (left, centre, right, justified) and vertical alignment (top, centre, bottom, ascent, baseline, descent) inside a text cell.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E023_cell_alignment.pdf"&gt;E023_cell_alignment.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E023_cell_alignment.phps"&gt;E023_cell_alignment.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E023_cell_alignment.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E023_cell_alignment.webp" alt="Page 1 of E023_cell_alignment.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E023_cell_alignment.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 023&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell alignment&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example cell alignment&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;023_cell_alignment.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell Alignment Example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;0.7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#0080ff&amp;#39;&lt;/span&gt;)];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderpos&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$columns&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Top&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Bottom&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ascent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Baseline&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Descent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;suffix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;textAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;suffix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Top&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;textAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;suffix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Bottom&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;textAlign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getCellTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$cellAlign&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$textAlign&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;match&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cellAlign&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;match&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textAlign&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;default&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;match&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textAlign&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt;)),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;default&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (((&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;match&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$textAlign&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;default&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;default&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lineY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCellBorder&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$columns&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getCellTopY&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineY&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;cellAlign&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;textAlign&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$fontHeight&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fontAscent&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;-&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;suffix&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;textAlign&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$drawCellBorder&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_cell.png&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPage(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$legend&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;LEGEND:&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;X: cell x top-left origin (top-right for RTL)&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Y: cell y top-left origin (top-right for RTL)&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;CW: cell width&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;CH: cell height&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;LW: line width&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;NRL: normal line position&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;EXT: external line position&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;INT: internal line position&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;ML: margin left&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;MR: margin right&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;MT: margin top&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;MB: margin bottom&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;PL: padding left&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;PR: padding right&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;PT: padding top&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;PB: padding bottom&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;TW: text width&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;FA: font ascent&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;FB: font baseline&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FD: font descent&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#79c0ff"&gt;$legend&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Second page: alignment combined with asymmetric paddings.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell Padding and Alignment&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The text is aligned inside the padding box (dashed grey) and not inside the whole cell (solid blue).&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; The margin and padding values of the &amp;#34;cell&amp;#34; parameter are expressed in points,&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; so they are converted here with toPoints(); the padding sizes below are in millimeters.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns a cell definition with the given padding expressed in user units.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getCellDef&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$top&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$right&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$left&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// the cell definition stores the padding in points&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$top&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$right&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$left&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderpos&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Base&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$padStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getLineStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#808080&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$padStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawPaddingBox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCellBorder&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vcolumns&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Top&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Bottom&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Bottom],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ascent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Ascent],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Baseline&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Baseline],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Descent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Descent],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vpaddings&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertical padding: T=0 B=0&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertical padding: T=10 B=0&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertical padding: T=0 B=10&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertical padding: T=12 B=4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vcellW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$vcolumns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vcellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vrowPitch&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$vtop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;48.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Vertical alignment (valign)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$vpaddings&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vrow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vpad&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vtop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$vrow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vrowPitch&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getCellDef&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$vpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$vcolumns&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vcellW&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$vcellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$vcellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$drawCellBorder&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vcellW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vcellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$drawPaddingBox&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vcellW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$vcellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$padStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hcolumns&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Left&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Right&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hpaddings&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;horizontal padding: L=0 R=0&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;horizontal padding: L=15 R=0&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;horizontal padding: L=0 R=15&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hcellW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$hcolumns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hcellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hrowPitch&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Horizontal alignment (halign)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;182&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$hpaddings&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hrow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hpad&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$hrow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hrowPitch&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getCellDef&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hpad&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$hcolumns&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hcellW&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hcellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hcellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$drawCellBorder&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hcellW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hcellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$drawPaddingBox&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hcellW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hcellH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellDef&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$padStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E024 : colors</title><link>https://tcpdf.org/examples/E024_colors/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E024_colors/</guid><description>&lt;p&gt;&lt;abbr title="Cyan, Magenta, Yellow, Key"&gt;CMYK&lt;/abbr&gt;, &lt;abbr title="Red, Green, Blue"&gt;RGB&lt;/abbr&gt;, and grayscale colour output from the same set of colour strings.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E024_colors.pdf"&gt;E024_colors.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E024_colors.phps"&gt;E024_colors.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#colour"&gt;Colour&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E024_colors.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E024_colors.webp" alt="Page 1 of E024_colors.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E024_colors.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 024&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CMYK, RGB and Grayscale colors&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example cmyk rgb grayscale colors&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;024_colors.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontSize&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$strokeColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$textColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$strokeColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$textColor&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert the font once and reuse it across all pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fontStyle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fontSize&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colorIntroHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Color Example&amp;lt;/h1&amp;gt;This page demonstrates core color support powered by &amp;lt;span style=&amp;#34;color:#008800&amp;#34;&amp;gt;tc-lib-color&amp;lt;/span&amp;gt;. The library provides unified parsing and conversion for grayscale, RGB, CMYK, spot, and Lab color models so the same API can target both screen output and print-ready workflows. In this sample, color definitions are applied consistently to fills, strokes, and text to highlight how each model can be mixed in a single PDF document.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$colorIntroHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cyan&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(50,0,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(100,0,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(100,0,0,0)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Magenta&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,50,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,100,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,100,0,0)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,50,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,100,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,100,0)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;150.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,0,50)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,0,100)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cmyk(0,0,0,100)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,127,127)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(127,255,127)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,255,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,255,0)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(127,127,255)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,255)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,255)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Gray&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#bfbfbf&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#7f7f7f&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;#7f7f7f&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spotIntroHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Example of Spot Colors&amp;lt;/h1&amp;gt;Spot colors are single, pre-mixed inks, rather than colors produced by four (CMYK), six (CMYKOG), or more process inks during printing. They are usually supplied by specialized vendors, although many printers also use in-house formulations to match target shades.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Because there is no universal open standard for spot colors, users typically rely on vendor color books and manually register both the spot color names and their CMYK equivalents.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Common industry spot color systems include:&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;#34;color:#008800&amp;#34;&amp;gt;ANPA-COLOR, DIC, FOCOLTONE, GCMI, HKS, PANTONE, TOYO, TRUMATCH&amp;lt;/span&amp;gt;.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spotIntroHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Dark Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Light Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.55&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.05&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawSpotColorBlock&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;110.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spots&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Dark Green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Light Yellow&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Yellow&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$spots&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spot&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawSpotColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spot&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labIntroHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Example of Lab Spot Colors&amp;lt;/h1&amp;gt;Lab-based spot colors define color values using CIE L*a*b* coordinates, which are device-independent and better suited for consistent cross-device color reproduction.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The following sample spot colors are registered using &amp;lt;span style=&amp;#34;color:#008800&amp;#34;&amp;gt;addSpotLabColor()&amp;lt;/span&amp;gt; and then rendered with standard spot-color drawing commands.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labIntroHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;53.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;67.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;87.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;86.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;83.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;79.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;108.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Orange&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;74.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;78.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Violet&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Gray&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Advanced Lab spot example: custom whitepoint/blackpoint (D50 with non-zero blackpoint).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab D50 Orange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;64.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;58.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;71.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.9642&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0000&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.8251&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.0120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0110&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Advanced Lab spot example: constrained a*/b* range and explicit Tint=0 Lab endpoint (col0).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotLabColor(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Narrow Blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;36.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;62.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;76.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.9505&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0000&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0890&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;96.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;96.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;96.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;96.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;92.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4.0&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labSpots&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Orange&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Violet&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.85&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Gray&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab D50 Orange&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;My TCPDF Lab Narrow Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$labSpots&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$spot&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawSpotColorBlock&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spot&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E025 : transparency</title><link>https://tcpdf.org/examples/E025_transparency/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E025_transparency/</guid><description>&lt;p&gt;Constant alpha and the 16 &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; blend modes, applied through ExtGState objects.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E025_transparency.pdf"&gt;E025_transparency.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E025_transparency.phps"&gt;E025_transparency.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E025_transparency.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E025_transparency.webp" alt="Page 1 of E025_transparency.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E025_transparency.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 025&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Object transparency&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example object transparency alpha extgstate&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;025_transparency.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getRectStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(string &lt;span style="color:#79c0ff"&gt;$strokeColor&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$strokeColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillColor&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert one neutral font before addPage() so page context has a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;You can set the transparency of PDF objects using graph-&amp;gt;getAlpha().&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Opaque red square.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$getRectStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(127,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Semi-transparent objects.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$getRectStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,127,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,255,0)&amp;#39;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$getRectStyle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,127)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,255)&amp;#39;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Restore full opacity.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E026 : text rendering modes</title><link>https://tcpdf.org/examples/E026_text_rendering_modes/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E026_text_rendering_modes/</guid><description>&lt;p&gt;The text rendering modes: fill, stroke, fill and stroke, invisible, and the clipping variants.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E026_text_rendering_modes.pdf"&gt;E026_text_rendering_modes.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E026_text_rendering_modes.phps"&gt;E026_text_rendering_modes.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E026_text_rendering_modes.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E026_text_rendering_modes.webp" alt="Page 1 of E026_text_rendering_modes.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E026_text_rendering_modes.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 026&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Text rendering modes and clipping&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example text rendering mode clipping stroke fill&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;026_text_rendering_modes.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$strokeWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bool &lt;span style="color:#79c0ff"&gt;$fill&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bool &lt;span style="color:#79c0ff"&gt;$stroke&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bool &lt;span style="color:#79c0ff"&gt;$clip&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$clip&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$strokeWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fill&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$stroke&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$clip&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$clip&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;170.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert one neutral font before addPage() so page context has a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text rendering modes: fill, stroke, fill+stroke, invisible, and clipping.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;22&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fill text&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stroke text&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;47.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fill, then stroke text&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;59.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Neither fill nor stroke text (invisible)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;71.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fill text and add to path for clipping&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;95.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stroke text and add to path for clipping&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;107.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fill, then stroke text and add to path for clipping&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;119.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTextModeLine&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Add text to path for clipping&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;131.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E027 : annotations</title><link>https://tcpdf.org/examples/E027_annotations/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E027_annotations/</guid><description>&lt;p&gt;Every supported annotation subtype, one per block, with its appearance.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E027_annotations.pdf"&gt;E027_annotations.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E027_annotations.phps"&gt;E027_annotations.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E027_annotations.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E027_annotations.webp" alt="Page 1 of E027_annotations.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E027_annotations.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates all currently supported annotation subtypes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-27&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 027&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;All Supported Annotation Types&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example annotation all subtypes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;027_annotations.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;108.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;is_numeric(&lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;%&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$normalizeAnnotationOptionCoordinates&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$subtype&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; strtolower((string) (&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$subtype&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;line&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_array(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (in_array(&lt;span style="color:#79c0ff"&gt;$subtype&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;polygon&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;polyline&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_array(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (in_array(&lt;span style="color:#79c0ff"&gt;$subtype&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;highlight&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;underline&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;squiggly&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;strikeout&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;redact&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (isset(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_array(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$quadOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$quad&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;is_array(&lt;span style="color:#79c0ff"&gt;$quad&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$quadOut&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$quad&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$quadOut&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$subtype&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ink&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_array(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$inkOut&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$line&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;is_array(&lt;span style="color:#79c0ff"&gt;$line&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$inkOut&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$convertTopToPdfCoordinates&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$line&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$inkOut&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$preview&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$normalizeAnnotationOptionCoordinates&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$preview&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$preview&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$aid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAnnotation(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; opt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$normalizeAnnotationOptionCoordinates&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$opt&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$aid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$aid&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(float &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [[&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$attachmentPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/utf8test.txt&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$soundPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/utf8test.txt&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;All Supported Annotation Types (page 1/2)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textAnnotId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Text note body&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;with two lines&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Comment&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text note&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Link (URI)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Link&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Open URL&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FreeText&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FreeText content&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FreeText&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/F1 10 Tf&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;q&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FreeTextTypeWriter&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;le&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;OpenArrow&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ClosedArrow&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LineDimension&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Square&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Square annotation&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Square&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;]], &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Circle&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Circle annotation&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Circle&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0.7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;]], &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polygon&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polygon annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polygon&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polyline&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polyline annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Polyline&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;le&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Circle&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Slash&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$qp1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Highlight&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Highlight annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Highlight&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$qp1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$qp2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Underline&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Underline annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Underline&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$qp2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$qp3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Squiggly&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Squiggly annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Squiggly&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$qp3&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$qp4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StrikeOut&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StrikeOut annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StrikeOut&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$qp4&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stamp&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stamp annotation&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Stamp&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Approved&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caret&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caret annotation&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caret&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;sy&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ink&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ink annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ink&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [[&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Popup (parent: Text)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Popup annotation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Popup&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$textAnnotId&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;open&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Popup target&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (is_file(&lt;span style="color:#79c0ff"&gt;$attachmentPath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FileAttachment&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Attached file&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FileAttachment&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PushPin&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;fs&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$attachmentPath&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FileAttachment skipped: missing examples/data/utf8test.txt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;All Supported Annotation Types (page 2/2)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (is_file(&lt;span style="color:#79c0ff"&gt;$soundPath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sound&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sound payload&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sound&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Speaker&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;fs&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$soundPath&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sound icon&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sound skipped: missing examples/data/utf8test.txt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Movie&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Movie payload&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Movie&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Movie title&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;movie&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sample.mov&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;aspect&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9.0&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;poster&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;showcontrols&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Repeat&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Movie action&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen payload&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen title&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mk&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;r&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;bc&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;tp&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/S /Named /N /NextPage&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen action&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;field-demo&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;N&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;demo_widget&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;v&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;abc&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/F1 10 Tf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;q&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget field&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$redactQuad&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mkQuadPoints&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$annX&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$annW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Redact&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Redact payload&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Redact&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$redactQuad&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overlaytext&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;REDACTED&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;repeat&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/F1 10 Tf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;q&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sample text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addRow&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Watermark&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Watermark payload&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Watermark&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fixedprint&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FixedPrint&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;matrix&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;v&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Notes: PrinterMark, TrapNet, and 3D are currently intentionally unsupported and are not included in this demo.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E028 : text hyphenation</title><link>https://tcpdf.org/examples/E028_text_hyphenation/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E028_text_hyphenation/</guid><description>&lt;p&gt;Hyphenation in &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; content, from explicit soft hyphens and from the loaded pattern dictionary.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E028_text_hyphenation.pdf"&gt;E028_text_hyphenation.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E028_text_hyphenation.phps"&gt;E028_text_hyphenation.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E028_text_hyphenation.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E028_text_hyphenation.webp" alt="Page 1 of E028_text_hyphenation.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E028_text_hyphenation.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 028&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Text hyphenation with soft hyphens&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example text hyphenation soft hyphen shy html&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;028_text_hyphenation.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert one neutral font before addPage() so page context has a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Example of Text Hyphenation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The text below uses explicit soft hyphens (&amp;amp;shy;) inside words and is rendered in a narrow left-aligned column.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;34.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;color:#003f7f;text-align:justify&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;On the other hand, we de&amp;amp;shy;nounce with righ&amp;amp;shy;teous in&amp;amp;shy;dig&amp;amp;shy;na&amp;amp;shy;tion &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and dis&amp;amp;shy;like men who are so be&amp;amp;shy;guiled and de&amp;amp;shy;mo&amp;amp;shy;r&amp;amp;shy;al&amp;amp;shy;ized by the charms &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;of plea&amp;amp;shy;sure of the mo&amp;amp;shy;ment, so blind&amp;amp;shy;ed by de&amp;amp;shy;sire, that they can&amp;amp;shy;not fore&amp;amp;shy;see &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the pain and trou&amp;amp;shy;ble that are bound to en&amp;amp;shy;sue; and equal blame be&amp;amp;shy;longs to &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;those who fail in their du&amp;amp;shy;ty through weak&amp;amp;shy;ness of will, which is the same as &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;say&amp;amp;shy;ing through shrink&amp;amp;shy;ing from toil and pain. Th&amp;amp;shy;ese cas&amp;amp;shy;es are per&amp;amp;shy;fect&amp;amp;shy;ly &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sim&amp;amp;shy;ple and easy to distin&amp;amp;shy;guish. In a free hour, when our pow&amp;amp;shy;er of choice is &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;un&amp;amp;shy;tram&amp;amp;shy;melled and when noth&amp;amp;shy;ing pre&amp;amp;shy;vents our be&amp;amp;shy;ing able to do what we like &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;best, ev&amp;amp;shy;ery plea&amp;amp;shy;sure is to be wel&amp;amp;shy;comed and ev&amp;amp;shy;ery pain avoid&amp;amp;shy;ed. But in &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cer&amp;amp;shy;tain cir&amp;amp;shy;cum&amp;amp;shy;s&amp;amp;shy;tances and ow&amp;amp;shy;ing to the claims of du&amp;amp;shy;ty or the obli&amp;amp;shy;ga&amp;amp;shy;tions &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;of busi&amp;amp;shy;ness it will fre&amp;amp;shy;quent&amp;amp;shy;ly oc&amp;amp;shy;cur that plea&amp;amp;shy;sures have to be &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;re&amp;amp;shy;pu&amp;amp;shy;di&amp;amp;shy;at&amp;amp;shy;ed and an&amp;amp;shy;noy&amp;amp;shy;ances ac&amp;amp;shy;cept&amp;amp;shy;ed. The wise man there&amp;amp;shy;fore al&amp;amp;shy;ways holds &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;in th&amp;amp;shy;ese mat&amp;amp;shy;ters to this prin&amp;amp;shy;ci&amp;amp;shy;ple of se&amp;amp;shy;lec&amp;amp;shy;tion: he re&amp;amp;shy;jects plea&amp;amp;shy;sures to &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;se&amp;amp;shy;cure other greater plea&amp;amp;shy;sures, or else he en&amp;amp;shy;dures pains to avoid worse pains.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellBorderStyles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45.0&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;42.0&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellBorderStyles&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E029 : xobject template</title><link>https://tcpdf.org/examples/E029_xobject_template/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E029_xobject_template/</guid><description>&lt;p&gt;Reusable Form XObject templates, defined once and placed several times, including under transparency and clipping.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E029_xobject_template.pdf"&gt;E029_xobject_template.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E029_xobject_template.phps"&gt;E029_xobject_template.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E029_xobject_template.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E029_xobject_template.webp" alt="Page 1 of E029_xobject_template.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E029_xobject_template.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 029&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;XObject template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example xobject template transparency clipping&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;029_xobject_template.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert one neutral font before addPage() so page context has a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XObject Templates&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The same template object is rendered multiple times with different sizes and alpha values.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;34.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateGroup&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;CS&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DeviceRGB&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;K&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;newXObjectTemplate(&lt;span style="color:#79c0ff"&gt;$templateWidth&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateHeight&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateGroup&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/tcpdf_logo.jpg&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imagePath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addXObjectImageID(&lt;span style="color:#79c0ff"&gt;$templateId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;29.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CNZ&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imageId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateWidth&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateHeight&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addXObjectFontID(&lt;span style="color:#79c0ff"&gt;$templateId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$templateFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Template&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$templateWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addXObjectContent(&lt;span style="color:#79c0ff"&gt;$templateId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$templateContent&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;exitXObjectTemplate();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$instances&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;27.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;62.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;85.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;95.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;125.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$instances&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$alpha&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha((float) &lt;span style="color:#79c0ff"&gt;$alpha&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getXObjectTemplate(&lt;span style="color:#79c0ff"&gt;$templateId&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E030 : svg</title><link>https://tcpdf.org/examples/E030_svg/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E030_svg/</guid><description>&lt;p&gt;&lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt; rendering: path parsing, markers, text anchoring, and style inheritance.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E030_svg.pdf"&gt;E030_svg.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E030_svg.phps"&gt;E030_svg.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E030_svg.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E030_svg.webp" alt="Page 1 of E030_svg.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E030_svg.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Dedicated SVG rendering example.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Renders every SVG image file shipped in the examples/images/ directory.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-26&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example_svg.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// SVG directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 030 — SVG&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;SVG Rendering Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf SVG example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;030_svg.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert a font for page labels&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 - tcpdf_box.svg&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A multi-path box illustration that exercises fill, stroke, fill-rule and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// transform handling.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tcpdf_box.svg&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Label&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tcpdf_box.svg — paths, fill, stroke, fill-rule&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render at two different sizes to check scaling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg01a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tcpdf_box.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg01a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg01b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tcpdf_box.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;148&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg01b&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg01c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tcpdf_box.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;148&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg01c&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 - testsvg.svg&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Exercises linear and radial gradients, clip-paths, complex paths, text and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// image embedding inside an SVG document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;testsvg.svg&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;testsvg.svg — gradients, clip-paths, text, embedded image&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Full-width render&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg02a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvg.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg02a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Smaller render to verify scaling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg02b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvg.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;47&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg02b&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg02c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvg.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;47&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;23&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg02c&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 3 - testsvgblend.svg&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Exercises mix-blend-mode (multiply, screen, darken …) and opacity.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;testsvgblend.svg&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;testsvgblend.svg — blend modes, opacity&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg03a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvgblend.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;127&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page03&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg03a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Side-by-side scaled copies&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg03b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvgblend.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page03&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg03b&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg03c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvgblend.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page03&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg03c&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 4 - tux.svg&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The Tux penguin - a complex multi-path SVG with fine detail and many style&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// attributes (fill, stroke, stroke-width, opacity).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Copyright: Larry Ewing - permits any use with proper attribution.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page04&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tux.svg&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tux.svg — complex multi-path illustration (The copyright holder of the Tux image is Larry Ewing)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Large centred render&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg04a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tux.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;121&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page04&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg04a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Three scaled thumbnails&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg04b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tux.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;148&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;66&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page04&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg04b&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg04c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tux.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;148&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;48&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page04&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg04c&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg04d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tux.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;115&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;148&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page04&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg04d&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 5 - all four images together (overview grid)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page05&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SVG overview grid&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;purple&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SVG overview grid — all four images at equal size&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Row 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$s1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tcpdf_box.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page05&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$s1&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$s2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvg.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page05&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$s2&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Row 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$s3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/testsvgblend.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;88&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page05&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$s3&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$s4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/tux.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;88&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;109&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page05&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$s4&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 6 - abstract_a4_features.svg (full-page portrait)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Dedicated A4 portrait abstract composition that concentrates most SVG&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// features currently supported by this library in one single visual sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page06&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;abstract_a4_features.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg06a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/abstract_a4_features.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page06&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page06&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page06&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg06a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 7 - path_text_regressions.svg (full-page portrait)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Sheet covering the path and text parsing rules: numbers with no leading&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// digit, packed decimals, scientific notation,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// elliptical arc flags packed against their neighbours, the smooth curve&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// commands &amp;#39;S&amp;#39; and &amp;#39;T&amp;#39;, compound subpaths under both fill rules, text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// anchoring, XML white space handling and multi chunk text layout.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Every shape is drawn twice, as a pale fill from a verbose path and as a dark&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// outline from the compact equivalent: the outline must trace the fill exactly.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page07&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;path_text_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;purple&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg07a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/path_text_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page07&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page07&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page07&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg07a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 8 - style_cascade_regressions.svg (full-page portrait)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Sheet covering the style cascade, opacity, length units and clipping rules:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// a style declaration against the presentation attribute of the same element,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// a fully transparent group, lengths with and without a unit suffix,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// percentage alpha values, and a clipPath applied to a shape, to a group and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// to nothing at all.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Each case is drawn next to a reference shape painted directly in the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// expected form: the two must be identical.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page08&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style_cascade_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg08a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/style_cascade_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page08&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page08&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page08&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg08a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 9 - style_sheet_use_regressions.svg (full-page portrait)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Sheet covering the rules a document stylesheet contributes to the cascade,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the compositing of a translucent group, the dash pattern, the dash offset&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// and the miter limit, and the use element against a shape, a group and a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// symbol target.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Each case is drawn next to a reference shape painted directly in the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// expected form: the two must be identical.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page09&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style_sheet_use_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg09a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/style_sheet_use_regressions.svg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page09&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page09&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pageheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page09&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg09a&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E031 : html features</title><link>https://tcpdf.org/examples/E031_html_features/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E031_html_features/</guid><description>&lt;p&gt;The breadth of the &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; and &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; support: selector combinators, pseudo-elements, floats and positioning, table tags, and form controls.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E031_html_features.pdf"&gt;E031_html_features.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E031_html_features.phps"&gt;E031_html_features.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E031_html_features.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E031_html_features.webp" alt="Page 1 of E031_html_features.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E031_html_features.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-27&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 031&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Features Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example HTML selectors forms table tags&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;031_html_features.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML feature showcase&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The HTML parser expects input already cleaned to XHTML-like markup (e.g. via tidyHTML),&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// and attribute extraction is intentionally based on double-quoted values.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Unsupported interactive selectors intentionally remain no-op (for example :hover).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// For table-structure tags, this example demonstrates current support for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// caption/colgroup/col/tfoot; unsupported styling on colgroup/col remains&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// intentionally a no-op in this conservative implementation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A small SVG image embedded as a data URI, in base64 and in percent-encoded form.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svgImage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; width=&amp;#34;24&amp;#34; height=&amp;#34;12&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;rect width=&amp;#34;24&amp;#34; height=&amp;#34;12&amp;#34; rx=&amp;#34;3&amp;#34; fill=&amp;#34;#3366cc&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;6&amp;#34; cy=&amp;#34;6&amp;#34; r=&amp;#34;3&amp;#34; fill=&amp;#34;#ffcc00&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svgBase64&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data:image/svg+xml;base64,&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \base64_encode(&lt;span style="color:#79c0ff"&gt;$svgImage&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svgEncoded&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data:image/svg+xml,&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \rawurlencode(&lt;span style="color:#79c0ff"&gt;$svgImage&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 10pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #222222;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo h2 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #003366;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 0 3mm 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .selector-list li:first-child {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #0b6e4f;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .selector-list li:last-child {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #8a1c7c;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .selector-list li:nth-child(2n+1) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #f4f7ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .selector-list li:nth-child(-n+2) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; text-decoration: underline;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .group &amp;gt; p + a.target {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #0066cc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .group &amp;gt; p ~ a.target {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .generated::before {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; content: &amp;#34;[PRE] &amp;#34;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #b03030;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo .generated::after {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; content: &amp;#34; [POST]&amp;#34;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo p:empty {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #fff2cc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.2mm solid #c7a600;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; height: 4mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo a:link {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; text-decoration: underline;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo table {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.2mm solid #666666;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo th {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #dddddd;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo input,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo select,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo textarea {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.2mm solid #777777;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .note {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 8pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #555555;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;HTML Feature Showcase&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This example demonstrates currently implemented selector, table, and form behavior in the HTML engine.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;1) Pseudo-class selectors&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;selector-list&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;First item (first-child + odd + -n+2)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item (-n+2)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Third item (odd)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Fourth item (last-child)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;2) Combinators (+ and ~)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;group&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Adjacent sibling trigger paragraph&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;a class=&amp;#34;target&amp;#34; href=&amp;#34;https://github.com/tecnickcom/tc-lib-pdf&amp;#34;&amp;gt;Adjacent + general sibling target link&amp;lt;/a&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;3) Empty pseudo-class&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;4) Pseudo-elements (::before / ::after, text-only content)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;span class=&amp;#34;generated&amp;#34;&amp;gt;Generated marker sample&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;5) Stable table rendering with selectors applied&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:100%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:20%&amp;#34;&amp;gt;Key&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th style=&amp;#34;width:80%&amp;#34;&amp;gt;Value&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;first-child&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Supported&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;last-child&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Supported&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;nth-child&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Supports n, odd/even, and an+b (for example 2n+1, -n+2)&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;empty&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Supported&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;link&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Supported for anchors with href&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;6) Table structure tags (caption, colgroup, col, tfoot)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:100%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;caption&amp;gt;Quarterly feature status&amp;lt;/caption&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;colgroup&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;col width=&amp;#34;22%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;col span=&amp;#34;2&amp;#34; width=&amp;#34;78%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/colgroup&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;thead&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Area&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;State&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Notes&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/thead&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;caption&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Rendered&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Displayed as a block-level table title.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;colgroup/col width hints&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Applied&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Used as precomputed column width hints before first-row fallback.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tfoot&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;tfoot&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Parsed&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Footer row contributes to table row/column bookkeeping.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tfoot&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;7) Form semantics (labels, field flags, select precedence)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;contact_email&amp;#34;&amp;gt;Email (for-id label):&amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;email&amp;#34; id=&amp;#34;contact_email&amp;#34; name=&amp;#34;contact_email&amp;#34; value=&amp;#34;user@example.com&amp;#34; maxlength=&amp;#34;64&amp;#34; width=&amp;#34;150&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label&amp;gt;Phone (wrapping label fallback):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;contact_phone&amp;#34; value=&amp;#34;+39 010 123 456&amp;#34; size=&amp;#34;70&amp;#34; width=&amp;#34;150&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;priority_pick&amp;#34;&amp;gt;Priority:&amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;select id=&amp;#34;priority_pick&amp;#34; name=&amp;#34;priority_pick&amp;#34; value=&amp;#34;normal&amp;#34; width=&amp;#34;200&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;optgroup label=&amp;#34;Standard&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;normal&amp;#34;&amp;gt;Normal&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;low&amp;#34;&amp;gt;Low&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/optgroup&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;optgroup label=&amp;#34;Urgent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;high&amp;#34; selected&amp;gt;High (explicit selected wins)&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;critical&amp;#34;&amp;gt;Critical&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/optgroup&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/select&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;notes&amp;#34;&amp;gt;Notes (disabled textarea mapping):&amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;textarea id=&amp;#34;notes&amp;#34; name=&amp;#34;notes&amp;#34; cols=&amp;#34;32&amp;#34; rows=&amp;#34;2&amp;#34; maxlength=&amp;#34;120&amp;#34; disabled&amp;gt;Handled by support queue&amp;lt;/textarea&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;note&amp;#34;&amp;gt;Visible fallback text: Handled by support queue&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Unsupported selector examples intentionally remain unmatched: :hover, :focus, :active, and :visited.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Pseudo-elements are intentionally limited to text-only `content:&amp;#34;...&amp;#34;` behavior in this conservative implementation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Unsupported styling on structural tags like colgroup/col is intentionally ignored in this conservative HTML engine pass.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This form section is focused on parser/field-mapping behavior; it is not intended to replicate browser form UX.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML B&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rect&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$rect&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textcolors&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Text&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bgcolors&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Background&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$csscolortypes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;CSS Color Types&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;2&amp;#34; style=&amp;#34;width:100%; font-size:9pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th style=&amp;#34;width:20%&amp;#34;&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th style=&amp;#34;width:80%&amp;#34;&amp;gt;Example&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;named&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: navy; color: #ffffff;&amp;#34;&amp;gt;background-color: navy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;gray&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: g(50%); color: #ffffff;&amp;#34;&amp;gt;background-color: g(50%)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hex short&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: #0f0; color: #000000;&amp;#34;&amp;gt;background-color: #0f0&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hex long&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: #1e90ff; color: #ffffff;&amp;#34;&amp;gt;background-color: #1e90ff&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;rgb&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: rgb(255, 99, 71); color: #000000;&amp;#34;&amp;gt;background-color: rgb(255, 99, 71)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;rgba&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: rgba(30, 144, 255, 0.25); color: #000000;&amp;#34;&amp;gt;background-color: rgba(30, 144, 255, 0.25)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hsl&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: hsl(120, 100%, 25%); color: #ffffff;&amp;#34;&amp;gt;background-color: hsl(120, 100%, 25%)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hsla&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: hsla(300, 100%, 50%, 0.20); color: #000000;&amp;#34;&amp;gt;background-color: hsla(300, 100%, 50%, 0.20)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;lab&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: lab(54.29% -19.04 38.25); color: #ffffff;&amp;#34;&amp;gt;background-color: lab(54.29% -19.04 38.25)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;lab alpha&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: lab(54.29% -19.04 38.25 / 0.35); color: #ffffff;&amp;#34;&amp;gt;background-color: lab(54.29% -19.04 38.25 / 0.35)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;cmyk&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color: cmyk(67, 33, 0, 25); color: #ffffff;&amp;#34;&amp;gt;background-color: cmyk(67, 33, 0, 25)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;WEBHEX &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$k&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$v&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$textcolors&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span color=&amp;#34;#&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$v&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$k&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt; &amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bgcolors&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span bgcolor=&amp;#34;#&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$v&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; color=&amp;#34;#333333&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$k&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt; &amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;HTML Colors&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$csscolortypes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$textcolors&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bgcolors&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_02&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML D - Transparency Showcase&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV02T&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Transparency color showcase&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$baseRectStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;none&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0, 64, 128)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$baseRectStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_transparency&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 10pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #ffffff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo h2 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 0 2mm 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 16pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: rgba(255, 255, 255, 0.62);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .line-a {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 12pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: rgba(255, 255, 255, 0.48);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 0 2mm 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .line-b {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 12pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: hsla(60, 100%, 86%, 0.58);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 0 3mm 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .bg-strip {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-top: 1mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 1.3mm 1.8mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: rgba(0, 0, 0, 0.30);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: rgba(255, 255, 255, 0.9);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .swatch {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; display: inline-block;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-right: 2mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 0.7mm 1.6mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: rgba(0, 0, 0, 0.86);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .swatch-rgba {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: rgba(30, 144, 255, 0.32);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .swatch-hsla {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: hsla(300, 100%, 60%, 0.30);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .alpha-demo .swatch-rgba2 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: rgba(255, 255, 255, 0.45);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;alpha-demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Transparency Color Showcase&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;line-a&amp;#34;&amp;gt;RGBA text: white alpha at 0.48 over a solid blue rectangle&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;line-b&amp;#34;&amp;gt;HSLA text: warm yellow alpha at 0.58 over the same blue base&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;bg-strip&amp;#34;&amp;gt;Background object with alpha: rgba(0, 0, 0, 0.30)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;swatch swatch-rgba&amp;#34;&amp;gt;RGBA bg 0.32&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;swatch swatch-hsla&amp;#34;&amp;gt;HSLA bg 0.30&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;swatch swatch-rgba2&amp;#34;&amp;gt;RGBA bg 0.45&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_transparency&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;162&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML C&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Various HTML Tests&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;&amp;lt;i&amp;gt;thisisanotherverylongword&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; thisisanotherverylongword &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;thisisaverylongword&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;&amp;lt;i&amp;gt;thisisanotherverylongword&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; thisisanotherverylongword &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;thisisaverylongword&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;&amp;lt;i&amp;gt;thisisanotherverylongword&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; thisisanotherverylongword &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;thisisaverylongword&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;&amp;lt;i&amp;gt;thisisanotherverylongword&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; thisisanotherverylongword &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;thisisaverylongword&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;&amp;lt;i&amp;gt;thisisanotherverylongword&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;&amp;lt;b&amp;gt;thisisaverylongword&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; thisisanotherverylongword &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;thisisaverylongword&amp;lt;/font&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Test fonts nesting&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlt1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Default &amp;lt;font face=&amp;#34;courier&amp;#34;&amp;gt;Courier &amp;lt;font face=&amp;#34;helvetica&amp;#34;&amp;gt;Helvetica &amp;lt;font face=&amp;#34;times&amp;#34;&amp;gt;Times &amp;lt;font face=&amp;#34;dejavusans&amp;#34;&amp;gt;dejavusans &amp;lt;/font&amp;gt;Times &amp;lt;/font&amp;gt;Helvetica &amp;lt;/font&amp;gt;Courier &amp;lt;/font&amp;gt;Default&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlt2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;sub&amp;gt;subscript&amp;lt;/sub&amp;gt; normal &amp;lt;sup&amp;gt;superscript&amp;lt;/sup&amp;gt; normal&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$htmlt3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;font size=&amp;#34;10&amp;#34; color=&amp;#34;#ff7f50&amp;#34;&amp;gt;The&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;10&amp;#34; color=&amp;#34;#6495ed&amp;#34;&amp;gt;quick&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;14&amp;#34; color=&amp;#34;#dc143c&amp;#34;&amp;gt;brown&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;18&amp;#34; color=&amp;#34;#008000&amp;#34;&amp;gt;fox&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;22&amp;#34;&amp;gt;&amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;jumps&amp;lt;/a&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;22&amp;#34; color=&amp;#34;#a0522d&amp;#34;&amp;gt;over&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;18&amp;#34; color=&amp;#34;#da70d6&amp;#34;&amp;gt;the&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;14&amp;#34; color=&amp;#34;#9400d3&amp;#34;&amp;gt;lazy&amp;lt;/font&amp;gt; &amp;lt;font size=&amp;#34;10&amp;#34; color=&amp;#34;#4169ef&amp;#34;&amp;gt;dog&amp;lt;/font&amp;gt;.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlt1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlt2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlt3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlt3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$htmlt2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;#34;font-size:8pt; line-height:110%;&amp;#34;&amp;gt;#&amp;lt;span style=&amp;#34;font-size:18pt&amp;#34;&amp;gt;1&amp;lt;/span&amp;gt;a&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Div Blocks&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;background-color:#880000;color:white;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Hello World!&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Hello&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;pre style=&amp;#34;background-color:#336699;color:white;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; int main() {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; printf(&amp;#34;HelloWorld&amp;#34;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; return 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/pre&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tt&amp;gt;Monospace font&amp;lt;/tt&amp;gt;, normal font, &amp;lt;tt&amp;gt;monospace font&amp;lt;/tt&amp;gt;, normal font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;background-color:#880000;color:white;&amp;#34;&amp;gt;DIV LEVEL 1&amp;lt;div style=&amp;#34;background-color:#008800;color:white;&amp;#34;&amp;gt;DIV LEVEL 2&amp;lt;/div&amp;gt;DIV LEVEL 1&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span style=&amp;#34;background-color:#880000;color:white;&amp;#34;&amp;gt;SPAN LEVEL 1 &amp;lt;span style=&amp;#34;background-color:#008800;color:white;&amp;#34;&amp;gt;SPAN LEVEL 2&amp;lt;/span&amp;gt; SPAN LEVEL 1&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Images from Data URIs&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; SVG, base64: &amp;lt;img src=&amp;#34;{$svgBase64}&amp;#34; alt=&amp;#34;SVG base64&amp;#34; width=&amp;#34;48&amp;#34; height=&amp;#34;24&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; SVG, percent-encoded: &amp;lt;img src=&amp;#34;{$svgEncoded}&amp;#34; alt=&amp;#34;SVG percent-encoded&amp;#34; width=&amp;#34;48&amp;#34; height=&amp;#34;24&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_03&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML E-A&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV05A&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_05A&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML Text Alignment (A)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. &amp;lt;em&amp;gt;Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?&amp;lt;/em&amp;gt; &amp;lt;em&amp;gt;Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?&amp;lt;/em&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; + &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; = &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; -&amp;amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; - &amp;lt;i&amp;gt;A&amp;lt;/i&amp;gt; = &amp;lt;i&amp;gt;B&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt; &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;Underlined&amp;lt;/u&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_05A&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML E-L&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_05L&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo. Lima Mike November Oscar Papa Quebec Romeo (&amp;lt;em&amp;gt;Sierra-Tango&amp;lt;/em&amp;gt;) Uniform Victor Whiskey (&amp;lt;em&amp;gt;Xray-Yankee&amp;lt;/em&amp;gt;). Zulu. Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo. Lima Mike November Oscar Papa Quebec Romeo (&amp;lt;em&amp;gt;Sierra-Tango&amp;lt;/em&amp;gt;) Uniform Victor Whiskey (&amp;lt;em&amp;gt;Xray-Yankee&amp;lt;/em&amp;gt;). Zulu. Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo. Lima Mike November Oscar Papa Quebec Romeo (&amp;lt;em&amp;gt;Sierra-Tango&amp;lt;/em&amp;gt;) Uniform Victor Whiskey (&amp;lt;em&amp;gt;Xray-Yankee&amp;lt;/em&amp;gt;). Zulu.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_05L&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML E-B&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV05B&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_05B&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML Text Alignment (B)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:justify;&amp;#34;&amp;gt;JUSTIFY: Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Quebec Romeo&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:left;&amp;#34;&amp;gt;LEFT: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:center;&amp;#34;&amp;gt;CENTER: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:right;&amp;#34;&amp;gt;RIGHT: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:justify;&amp;#34;&amp;gt;JUSTIFY: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:justify;&amp;#34;&amp;gt;JUSTIFY: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_box.svg&amp;#34; alt=&amp;#34;TCPDF box&amp;#34; width=&amp;#34;100&amp;#34; height=&amp;#34;67&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:left;&amp;#34;&amp;gt;LEFT: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_box.svg&amp;#34; alt=&amp;#34;TCPDF box&amp;#34; width=&amp;#34;100&amp;#34; height=&amp;#34;67&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:center;&amp;#34;&amp;gt;CENTER: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_box.svg&amp;#34; alt=&amp;#34;TCPDF box&amp;#34; width=&amp;#34;100&amp;#34; height=&amp;#34;67&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:right;&amp;#34;&amp;gt;RIGHT: Alfa &amp;lt;i&amp;gt;Bravo&amp;lt;/i&amp;gt; Charlie &amp;lt;i&amp;gt;Delta&amp;lt;/i&amp;gt; Echo &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_box.svg&amp;#34; alt=&amp;#34;TCPDF box&amp;#34; width=&amp;#34;100&amp;#34; height=&amp;#34;67&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; &amp;lt;i&amp;gt;Foxtrot&amp;lt;/i&amp;gt; Golf &amp;lt;i&amp;gt;Hotel&amp;lt;/i&amp;gt; India &amp;lt;i&amp;gt;Juliett&amp;lt;/i&amp;gt; Kilo &amp;lt;i&amp;gt;Lima&amp;lt;/i&amp;gt; Mike &amp;lt;i&amp;gt;November&amp;lt;/i&amp;gt; Oscar &amp;lt;i&amp;gt;Papa&amp;lt;/i&amp;gt; Quebec &amp;lt;i&amp;gt;Romeo&amp;lt;/i&amp;gt; Sierra &amp;lt;i&amp;gt;Tango&amp;lt;/i&amp;gt; Uniform &amp;lt;i&amp;gt;Victor&amp;lt;/i&amp;gt; Whiskey &amp;lt;i&amp;gt;Xray&amp;lt;/i&amp;gt; Yankee &amp;lt;i&amp;gt;Zulu&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;#34;text-align:justify;&amp;#34;&amp;gt;a &amp;lt;u&amp;gt;abc&amp;lt;/u&amp;gt; abcdefghijkl (abcdef) abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a ((abc)) abcd &amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;89&amp;#34; height=&amp;#34;30&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt; abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc abcd abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc abcd abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a &amp;lt;u&amp;gt;abc&amp;lt;/u&amp;gt; abcd abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc \(abcd\) abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc \\\(abcd\\\) abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc abcd abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc abcd abcdef abcdefg &amp;lt;b&amp;gt;abcdefghi&amp;lt;/b&amp;gt; a abc abcd abcdef abcdefg abcdefghi a abc abcd &amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;abcdef abcdefg&amp;lt;/a&amp;gt; start a abc before &amp;lt;span style=&amp;#34;background-color:yellow&amp;#34;&amp;gt;yellow color&amp;lt;/span&amp;gt; after a abc abcd abcdef abcdefg abcdefghi a abc abcd end abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi&amp;lt;br /&amp;gt;abcd abcdef abcdefg abcdefghi&amp;lt;br /&amp;gt;abcd abcde abcdef&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;hr /&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_05B&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML F&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV06&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_06&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;!-- EXAMPLE OF CSS STYLE --&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;h1 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: navy;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: times;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 24pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-decoration: underline;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;p.first {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: #003300;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 12pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;p.first span {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: #006600;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-style: italic;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;p#second {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: rgb(00,63,127);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: times;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 12pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-align: justify;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;p#second &amp;gt; span {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #FFFFAA;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;table.first {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: #003300;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 8pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-left: 3px solid red;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-right: 3px solid #FF00FF;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-top: 3px solid green;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-bottom: 3px solid blue;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #ccffcc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;td {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border: 2px solid blue;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #ffffee;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;td.second {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border: 2px dashed green;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;div.test {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: #CC0000;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #FFFF66;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 10pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-style: solid solid solid solid;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-width: 2px 2px 2px 2px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-color: green #FF00FF blue red;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-align: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;.lowercase {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-transform: lowercase;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;.uppercase {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-transform: uppercase;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;.capitalize {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;text-transform: capitalize;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 class=&amp;#34;title&amp;#34;&amp;gt;Example of &amp;lt;i style=&amp;#34;color:#990000&amp;#34;&amp;gt;XHTML + CSS&amp;lt;/i&amp;gt;&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;first&amp;#34;&amp;gt;Example of paragraph with class selector. &amp;lt;span&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p id=&amp;#34;second&amp;#34;&amp;gt;Example of paragraph with ID selector. &amp;lt;span&amp;gt;Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;test&amp;#34;&amp;gt;example of DIV with border and fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&amp;lt;span class=&amp;#34;lowercase&amp;#34;&amp;gt;text-transform &amp;lt;b&amp;gt;LOWERCASE&amp;lt;/b&amp;gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&amp;lt;span class=&amp;#34;uppercase&amp;#34;&amp;gt;text-transform &amp;lt;b&amp;gt;uppercase&amp;lt;/b&amp;gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&amp;lt;span class=&amp;#34;capitalize&amp;#34;&amp;gt;text-transform &amp;lt;b&amp;gt;cAPITALIZE&amp;lt;/b&amp;gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_06&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML A&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#fdfca5&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;HTML Example A&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;Some special characters: &amp;amp;lt; € &amp;amp;euro; &amp;amp;#8364; &amp;amp;amp; è &amp;amp;egrave; &amp;amp;copy; &amp;amp;gt; \\slash \\\\double-slash \\\\\\triple-slash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h2&amp;gt;List&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;List example:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;bold text&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;i&amp;gt;italic text&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;underlined text&amp;lt;/u&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;b&amp;lt;i&amp;gt;bi&amp;lt;u&amp;gt;biu&amp;lt;/u&amp;gt;bi&amp;lt;/i&amp;gt;b&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34; dir=&amp;#34;ltr&amp;#34;&amp;gt;link to https://tcpdf.org&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.&amp;lt;br /&amp;gt;Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;SUBLIST&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;li&amp;gt;row one&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&#9;&amp;lt;li&amp;gt;sublist&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&#9;&amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;&amp;lt;li&amp;gt;row two&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;T&amp;lt;/b&amp;gt;E&amp;lt;i&amp;gt;S&amp;lt;/i&amp;gt;&amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;del&amp;gt;line through&amp;lt;/del&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;font size=&amp;#34;+3&amp;#34;&amp;gt;font + 3&amp;lt;/font&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;li&amp;gt;&amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;sub&amp;gt;subscript&amp;lt;/sub&amp;gt; normal &amp;lt;sup&amp;gt;superscript&amp;lt;/sup&amp;gt; normal&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;dl&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dt&amp;gt;Coffee&amp;lt;/dt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dd&amp;gt;Black hot drink&amp;lt;/dd&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dt&amp;gt;Milk&amp;lt;/dt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;dd&amp;gt;White cold drink&amp;lt;/dd&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/dl&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;The words &amp;amp;#8220;&amp;lt;span dir=&amp;#34;rtl&amp;#34;&amp;gt;&amp;amp;#1502;&amp;amp;#1494;&amp;amp;#1500; [mazel] &amp;amp;#1496;&amp;amp;#1493;&amp;amp;#1489; [tov]&amp;lt;/span&amp;gt;&amp;amp;#8221; mean &amp;amp;#8220;Congratulations!&amp;amp;#8221;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;This is just an example of html code to demonstrate some supported CSS inline styles.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-weight: bold;&amp;#34;&amp;gt;bold text&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;text-decoration: line-through;&amp;#34;&amp;gt;line-trough&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;text-decoration: underline line-through;&amp;#34;&amp;gt;underline and line-trough&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;color: rgb(0, 128, 64);&amp;#34;&amp;gt;color&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;background-color: rgb(255, 0, 0); color: rgb(255, 255, 255);&amp;#34;&amp;gt;background color&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-weight: bold;&amp;#34;&amp;gt;bold&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: xx-small;&amp;#34;&amp;gt;xx-small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: x-small;&amp;#34;&amp;gt;x-small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: small;&amp;#34;&amp;gt;small&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: medium;&amp;#34;&amp;gt;medium&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: large;&amp;#34;&amp;gt;large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: x-large;&amp;#34;&amp;gt;x-large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;span style=&amp;#34;font-size: xx-large;&amp;#34;&amp;gt;xx-large&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_01&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageVC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_vc1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .vc-box {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 150mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; height: 90mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.6mm solid #003366;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #e9f2ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .vc-fill {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 100%;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; height: 100%;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .vc-content {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; vertical-align: middle;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; text-align: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #002244;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;vc-box&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;vc-fill&amp;#34; border=&amp;#34;0&amp;#34; cellpadding=&amp;#34;0&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td class=&amp;#34;vc-content&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Vertically Centered Block&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This content is centered in the middle of the box.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;HTML:&amp;lt;/b&amp;gt; headings, paragraphs, and inline formatting.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_vc1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_vc2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;0&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:150mm; height:100mm; background-color:blue; border-color:#003366;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;height:100mm; vertical-align:middle; text-align:center; color:cmyk(100,0,0,0);&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Vertically Centered Block&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This content is centered in the middle of the box.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;HTML:&amp;lt;/b&amp;gt; headings, paragraphs, and inline formatting.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_vc2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML G - Non-breaking characters&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Every column is 33 mm wide, so &amp;#34;AAAA BBBB CCCC&amp;#34; fits on one line but&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#34;AAAA BBBB CCCC DDDD&amp;#34; does not. Only the first column, joined by an ordinary&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// space, may break between CCCC and DDDD: in all the others the two words move&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// to the second line together.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageNB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$nb_separators&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;U+0020 SPACE&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;U+00A0 NO-BREAK SPACE&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{00A0}&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;U+2007 FIGURE SPACE&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{2007}&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;U+202F NARROW NO-BREAK&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{202F}&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$nb_posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$nb_separators&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_separator&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$nb_text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AAAA BBBB CCCC&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_separator&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DDDD EEEE&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-size:7pt;color:#666666;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-size:10pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;33&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$nb_posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$nb_posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A NO-BREAK SPACE keeps a short word attached to the one that follows it.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_nb&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt;&amp;#34;&amp;gt;Заголовок в&amp;amp;nbsp;двух строках и&amp;amp;nbsp;ещё немного текста для переноса.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_nb&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E032 : html lists</title><link>https://tcpdf.org/examples/E032_html_lists/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E032_html_lists/</guid><description>&lt;p&gt;Ordered, unordered, and nested lists, with the &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; list-style properties applied to each.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E032_html_lists.pdf"&gt;E032_html_lists.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E032_html_lists.phps"&gt;E032_html_lists.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E032_html_lists.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E032_html_lists.webp" alt="Page 1 of E032_html_lists.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E032_html_lists.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-28&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 032&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML List Item CSS Variations&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html list css ul ol li&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;032_html_lists.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $bfont = $pdf-&amp;gt;font-&amp;gt;insert($pdf-&amp;gt;pon, &amp;#39;helvetica&amp;#39;, &amp;#39;&amp;#39;, 10);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML list item CSS variations&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// This example showcases all currently supported list-item CSS behavior:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - list-style-type&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - list-style-position (inside / outside)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - margin-left / padding-left&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - text-indent first-line behavior on list-item text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - nested OL/UL interactions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - li::marker styling (color, font-weight, font-style)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - list-style-image CSS property parsing (SVG and PNG data URIs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - vector unordered markers, drawn when the font has no glyph for them&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - decimal fallback for counter styles the font cannot render&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - the presentational type attribute on OL, UL and LI&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - alphabetic counters wrapping past the end of the alphabet&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - additive counter styles (hebrew, armenian, georgian, cjk-ideographic)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - decimal fallback for counters outside the range of their counter style&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// - right-to-left lists, including list-style-position&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; body {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #222222;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 10pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h1 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #0f2b46;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 3mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h2 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #1e4f80;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-top: 4mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 2mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .note {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 8pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #5b5b5b;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .panel {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #edf9ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 2mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 2.5mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: list-style-type */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-disc { list-style-type: disc; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-circle { list-style-type: circle; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-square { list-style-type: square; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-decimal { list-style-type: decimal; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-upper-alpha { list-style-type: upper-alpha; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-lower-roman { list-style-type: lower-roman; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: list-style-position */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pos-inside { list-style-position: inside; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pos-outside { list-style-position: outside; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .narrow { margin-right: 110mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: margin/padding on containers and items */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-a {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-left: 0mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding-left: 3mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-b {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-left: 6mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding-left: 1mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-c {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-left: 10mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding-left: 0mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-a li { margin-left: 0mm; padding-left: 0mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-b li { margin-left: 1mm; padding-left: 1mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-shift-c li { margin-left: 2mm; padding-left: 0mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: text-indent (first-line and hanging) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .indent-first li { text-indent: 4mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .indent-hanging li { text-indent: -2mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: li::marker styling */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .marker-red li::marker { color: red; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .marker-blue li::marker { color: blue; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .marker-green li::marker { color: #008000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: marker glyph availability */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .core-font { font-family: helvetica; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .jp-font { font-family: unifont_jp; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-hiragana { list-style-type: hiragana; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-katakana-iroha { list-style-type: katakana-iroha; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-cjk { list-style-type: cjk-ideographic; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: counter ranges and additive counter styles */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-lower-alpha { list-style-type: lower-alpha; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-upper-roman { list-style-type: upper-roman; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-lower-greek { list-style-type: lower-greek; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-hebrew { list-style-type: hebrew; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-armenian { list-style-type: upper-armenian; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-georgian { list-style-type: georgian; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Variation set: list-style-image (custom bullets) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-img-svg { list-style-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPjxjaXJjbGUgY3g9IjQiIGN5PSI0IiByPSI0IiBmaWxsPSIjRkY2NjAwIi8+PC9zdmc+); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .list-img-png { list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAADElEQVQImWNgYAgCAABWAFO8xnxsAAAAAElFTkSuQmCC); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Position guides, visual hints only: they do not change the layout.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; red = list container box edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; blue = list item box edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; green = item text column, the edge the marker is anchored to */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .marker-guide {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left: 0.2mm solid #ff0000;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .item-guide li {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left: 0.2mm solid #0000ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .col {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #ddffdd;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;HTML List Item CSS Variations (Current Support)&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Position guides: the red rule is the list container box edge, the blue rule is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the list item box edge, and the green highlight is the item text column. An `outside` marker is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; placed one space to the left of the text column, so it hangs in the list indentation.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;1) Unordered list styles (`list-style-type`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Disc marker&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Nested sample&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Circle marker&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Another nested item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-square marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Square marker&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Second square marker item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;The counter belongs to the list, not to the list element: an UL carrying a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; counter marker style numbers its items, and the value attribute sets the counter of the item&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; and of the ones that follow it.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ol-decimal marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;UL with list-style-type: decimal&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ol-lower-alpha marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;UL with list-style-type: lower-alpha&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li value=&amp;#34;7&amp;#34;&amp;gt;Item with value=&amp;#34;7&amp;#34;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item after the value attribute&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;2) Ordered list styles (`list-style-type`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Decimal marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-alpha marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Upper-alpha marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-roman marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Lower-roman marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;3) Marker position (`list-style-position`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: an outside marker hangs before the item content edge, an inside marker&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; sits on it and shifts the first line only. Wrapped lines and nested lists start at the content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; edge in both cases. The lists below are narrowed to force the text to wrap.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc pos-outside marker-guide item-guide narrow&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Outside marker with text long enough to wrap onto a second line&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Second outside item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc pos-inside marker-guide item-guide narrow&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Inside marker with text long enough to wrap onto a second line&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Second inside item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;A wide counter keeps the same marker column: the item text moves, the marker&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; does not.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;pos-inside marker-guide item-guide&amp;#34; start=&amp;#34;3998&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Wide inside counter&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Second item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-roman pos-inside marker-guide item-guide&amp;#34; start=&amp;#34;3&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Roman inside counter&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Item with a nested list&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;pos-inside&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Nested item under an inside marker&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Second nested item&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;4) Container and item indentation (`margin-left` / `padding-left`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc list-shift-a marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift A&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift A nested&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested ordered item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc list-shift-b marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift B&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift B nested&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-alpha&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested ordered item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc list-shift-c marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift C&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Shift C nested&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-roman&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested ordered item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;5) Mixed nesting matrix (`ol` inside `ul`, `ul` inside `ol`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-square marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;UL root item&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal pos-outside&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;OL nested in UL&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle pos-inside&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;UL nested in OL&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second nested UL item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;6) List text indentation (`text-indent`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal indent-first marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;First-line indent with long text to make wrapping visible in the list-item rendering path. First-line indent with long text to make wrapping visible in the list-item rendering path.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span&amp;gt;First-line&amp;lt;/span&amp;gt; indent with long text to &amp;lt;span&amp;gt;make&amp;lt;/span&amp;gt; wrapping visible in the list-item rendering path. (B) First-line indent with long text to make wrapping visible in the list-item rendering path.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item with first-line indent style applied.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal indent-hanging marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Hanging-indent style (negative text-indent) with long text to highlight first-line offset behavior.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item using the same hanging-indent rule.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;7) Marker color styling (`li::marker`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal marker-red marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Red marker color applied via li::marker selector&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item with red marker styling&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc marker-blue marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Blue marker color applied via li::marker selector&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second unordered item with blue marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-alpha marker-green marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Green marker color applied via li::marker selector&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item with green marker styling&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;8) Vector markers (core font)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: a core font has no Unicode bullet glyphs, so the markers are drawn as&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; vector shapes. All three occupy the same marker slot: one space before the item text.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc core-font marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Disc marker drawn as a filled circle&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle core-font marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Circle marker drawn as a stroked circle&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-square core-font marker-guide item-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;span class=&amp;#34;col&amp;#34;&amp;gt;Square marker drawn as a filled rectangle&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;9) Missing glyph fallback (`list-style-type`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: DejaVu Sans covers neither the Hiragana nor the CJK block, so these two&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; counter styles fall back to the decimal counter instead of being dropped. Section 14 renders&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the same styles with a font that covers them.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-hiragana marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Hiragana counter style&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-cjk marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;CJK ideographic counter style&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;10) Custom bullet images (`list-style-image`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: Image bullet rendering is subject to image loading availability and fallback behavior.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;list-img-svg marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Custom SVG bullet marker image&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item with custom image bullet&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested list with custom bullets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;list-img-svg&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested custom image bullet item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Another nested custom image bullet&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;list-img-png marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;PNG data URI bullet marker image&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item with PNG data URI bullet&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;11) Presentational list type attribute&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: the OL type attribute is case-sensitive, `1`, `a`, `A`, `i` and `I` are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; five distinct counters. The UL keywords disc, circle and square are case-insensitive.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;1&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;1&amp;#34; decimal counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;a&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;a&amp;#34; lowercase alphabetic counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;A&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;A&amp;#34; uppercase alphabetic counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;i&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;i&amp;#34; lowercase roman counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;I&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;I&amp;#34; uppercase roman counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul type=&amp;#34;DISC&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;DISC&amp;#34; resolves to the disc marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul type=&amp;#34;Square&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;Square&amp;#34; resolves to the square marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;The attribute and the equivalent CSS keyword render the same markers:&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;A&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;A&amp;#34;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-alpha&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;list-style-type: upper-alpha&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;I&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;I&amp;#34;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-roman&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;list-style-type: upper-roman&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;The attribute combines with `start`, is inherited by a nested list that asks&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; for it, is overridden by a list-style-type declared on the same element, and can be set on a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; single item:&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;A&amp;#34; start=&amp;#34;3&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;A&amp;#34; start=&amp;#34;3&amp;#34;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;I&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;I&amp;#34; with a nested inherited list&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol style=&amp;#34;list-style-type: inherit&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Another nested item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;A&amp;#34; style=&amp;#34;list-style-type: lower-roman&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;type=&amp;#34;A&amp;#34; with list-style-type: lower-roman&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;1&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item with the list type&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li type=&amp;#34;a&amp;#34;&amp;gt;Item with its own type attribute&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item with the list type again&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;12) Counter ranges and wrapping&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: an alphabetic counter continues past the last symbol with two-symbol&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; sequences. A counter outside the range of its counter style uses the decimal counter.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;a&amp;#34; start=&amp;#34;25&amp;#34; class=&amp;#34;marker-guide&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 25&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 26, the last single-letter counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 27, the first two-letter counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 28&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;A&amp;#34; start=&amp;#34;25&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 25&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 26&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 27&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-alpha&amp;#34; start=&amp;#34;701&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 701&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 702, the last two-letter counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 703, the first three-letter counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-greek&amp;#34; start=&amp;#34;17&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 17&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 18, sigma follows rho: the final sigma is not a counter symbol&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-greek&amp;#34; start=&amp;#34;24&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 24, the last Greek symbol&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 25, the first two-symbol counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-upper-roman&amp;#34; start=&amp;#34;3998&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3998&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3999, the last standard Roman numeral&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 4000, written with the vinculum overline&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-lower-alpha&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li value=&amp;#34;0&amp;#34;&amp;gt;Item with value=&amp;#34;0&amp;#34;, outside the alphabetic range&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li value=&amp;#34;-3&amp;#34;&amp;gt;Item with value=&amp;#34;-3&amp;#34;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;13) Additive counter styles&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: these styles are additive, the counter is composed from the symbols that&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; add up to the number rather than being the n-th letter of the alphabet.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-hebrew marker-guide&amp;#34; start=&amp;#34;9&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 9&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 10&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 11&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 12&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-armenian&amp;#34; start=&amp;#34;1987&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1987&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1988&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-georgian&amp;#34; start=&amp;#34;1987&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1987&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1988&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;14) Japanese counter styles&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34;&amp;gt;Note: this panel uses GNU Unifont JP, which covers the Kana and CJK blocks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The Hiragana and Katakana styles are alphabetic, the CJK ideographic style is additive.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-hiragana jp-font&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 2&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-katakana-iroha jp-font&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 2&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-cjk jp-font&amp;#34; start=&amp;#34;9&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 9&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 10&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 11&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rtlhtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; body {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #222222;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 10pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h1 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #0f2b46;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 3mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; h2 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #1e4f80;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-top: 4mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 2mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .note {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 8pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #5b5b5b;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .panel {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #edf9ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 2mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 2.5mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-disc { list-style-type: disc; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-circle { list-style-type: circle; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ul-square { list-style-type: square; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ol-decimal { list-style-type: decimal; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .core-font { font-family: helvetica; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pos-inside { list-style-position: inside; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pos-outside { list-style-position: outside; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .narrow { margin-left: 110mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;Right-To-Left Lists&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34; style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;Note: in right-to-left mode the markers hang off the right edge of the item,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; one space from the item text, and nested lists indent towards the left.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;1) Glyph markers&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Disc marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Circle marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-square&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Square marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;2) Vector markers (core font)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc core-font&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Disc marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle core-font&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Circle marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-square core-font&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Square marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;3) Ordered and nested lists&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Decimal marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested sample&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested unordered item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;I&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Uppercase roman marker from the type attribute&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol type=&amp;#34;a&amp;#34; start=&amp;#34;25&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 25&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 26&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 27, the first two-letter counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;4) Marker position (`list-style-position`)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;note&amp;#34; style=&amp;#34;direction:ltr;&amp;#34;&amp;gt;Note: an outside marker hangs past the right edge of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; item content, an inside marker sits on it and shifts the first line only. Wrapped lines and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; nested lists start at the content edge in both cases. The first three lists below are narrowed&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; to force the item text to wrap.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc pos-outside narrow&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Outside marker with text long enough to wrap onto a second line&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second outside item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc pos-inside narrow&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Inside marker with text long enough to wrap onto a second line&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second inside item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-disc pos-inside narrow&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;علامة داخلية مع نص عربي طويل بما يكفي للالتفاف إلى سطر ثان&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;عنصر ثان&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol class=&amp;#34;ol-decimal pos-inside&amp;#34; start=&amp;#34;3998&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Wide inside counter&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item with a nested list&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;ul-circle pos-inside&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Nested item under an inside marker&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Second nested item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Right-to-left lists&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rtlhtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E033 : geometric transformations</title><link>https://tcpdf.org/examples/E033_geometric_transformations/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E033_geometric_transformations/</guid><description>&lt;p&gt;Rotation, scaling, translation, skewing, and mirroring, composed on a transformation stack.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E033_geometric_transformations.pdf"&gt;E033_geometric_transformations.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E033_geometric_transformations.phps"&gt;E033_geometric_transformations.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E033_geometric_transformations.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E033_geometric_transformations.webp" alt="Page 1 of E033_geometric_transformations.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E033_geometric_transformations.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 033&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Geometric Transformations&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf transformations rotate scale translate skew matrix&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;033_geometric_transformations.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Transformations&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Document title and explanation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Geometric Transformations&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This example demonstrates the geometric transformation operations available in tc-lib-pdf:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;scaling&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;translation&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;rotation&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;skewing&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;mirroring&amp;lt;/b&amp;gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; and combined &amp;lt;b&amp;gt;affine transformations.&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each operation is shown with a reference rectangle (black) and the transformed result (red).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$titleHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Geometric Transformations&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rect_style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Scaling: 150% around (50, 80)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Scaling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rect_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Scale by 150% centered by (50,80) which is the lower left corner of the rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getScaling(&lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Translation: +7 x, +5 y&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;66&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Translation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Translate 7 to the right, 5 to the bottom&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTranslation(&lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rotation: 20 degrees around (70, 110)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;112&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Rotation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Rotate 20 degrees counter-clockwise centered by (70,110) which is the lower left corner of the rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRotation(&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Skewing: 30 degrees on x-axis&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Skewing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// skew 30 degrees along the x-axis centered by (125,110) which is the lower left corner of the rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSkewing(&lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Horizontal mirror at x = 70&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;126&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Mirroring Horizontally&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// mirror horizontally with axis of reflection at x-position 70 (left side of the rectangle)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHorizMirroring(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Vertical mirror at y = 140&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;126&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Mirroring Vertically&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// mirror vertically with axis of reflection at y-position 140 (bottom side of the rectangle)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getVertMirroring(&lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Point reflection at (70, 170)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;156&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Point Reflection&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// point reflection at the lower left point of rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPointMirroring(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line reflection through (120, 170), angle -20 degrees&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;156&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Mirroring against a straigth line described by a point (120, 120) and an angle -20°&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$angle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// just for visualisation: the straight line to mirror against&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRotation(&lt;span style="color:#79c0ff"&gt;$angle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rect_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// mirror against the straight line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getReflection(&lt;span style="color:#79c0ff"&gt;$angle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$px&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$py&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBasicRect(&lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transform_style&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$t8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E034 : color gradient mesh</title><link>https://tcpdf.org/examples/E034_color_gradient_mesh/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E034_color_gradient_mesh/</guid><description>&lt;p&gt;Axial and radial shadings with multiple stops and per-stop opacity, plus Coons patch meshes.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E034_color_gradient_mesh.pdf"&gt;E034_color_gradient_mesh.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E034_color_gradient_mesh.phps"&gt;E034_color_gradient_mesh.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E034_color_gradient_mesh.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E034_color_gradient_mesh.webp" alt="Page 1 of E034_color_gradient_mesh.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E034_color_gradient_mesh.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 034&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Color Gradient Mesh&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf color gradient mesh shading patch&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;034_color_gradient_mesh.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Color Gradients&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Color Gradients and Meshes&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This page demonstrates linear and radial gradients together with Coons patch meshes rendered by tc-lib-pdf.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Linear gradient&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lingrad&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLinearGradient(&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$lingrad&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Radial Gradient&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$radgrad&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRadialGradient(&lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.2&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$radgrad&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// CoonsPatchMesh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$coonspatchmesh1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCoonsPatchMeshWithCoords(&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$coonspatchmesh1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// set the coordinates for the cubic Bézier points x1,y1 ... x12, y12 of the patch&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;//lower left&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;//lower right&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;//upper right&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;//upper left&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]; &lt;span style="color:#8b949e;font-style:italic"&gt;//lower left&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// paint a coons patch gradient with the above coordinates&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$coonspatchmesh2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCoonsPatchMeshWithCoords(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$coonspatchmesh2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Color gradient mesh&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// first patch: f = 0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;points&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// second patch - above the other: f = 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;points&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// third patch - right of the above: f = 3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;points&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// fourth patch - below the above, which means left(?) of the above: f = 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;points&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.33&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.67&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$coonspatchmesh3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCoonsPatchMesh(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;210&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;297&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$patch_array&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$coonspatchmesh3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E035 : registration marks</title><link>https://tcpdf.org/examples/E035_registration_marks/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E035_registration_marks/</guid><description>&lt;p&gt;Crop marks, registration marks, and colour registration bars for prepress output.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E035_registration_marks.pdf"&gt;E035_registration_marks.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E035_registration_marks.phps"&gt;E035_registration_marks.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E035_registration_marks.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E035_registration_marks.webp" alt="Page 1 of E035_registration_marks.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E035_registration_marks.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 035&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Registration Marks&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf registration marks prepress crop bleed print&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;035_registration_marks.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Crop Marks and Color Maps&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Registration Marks&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This example shows crop marks, registration targets, and color registration bars,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; including spot-color bars used for print alignment checks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkorange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;palegreen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCurrentStyleArray();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Crop Marks&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TL&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TR&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BL&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BR&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;LBR&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TLB&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TRB&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$crpmrk9&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCropMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TLBR&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lime&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$crpmrk9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Registration Marks&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regmrk1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegistrationMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regmrk1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regmrk2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegistrationMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regmrk2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regmrk3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegistrationMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regmrk3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regmrk4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegistrationMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regmrk4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// CYMK Registration Mark&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regmrk5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCmykRegistrationMark(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regmrk5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add Spot Colors&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_dark_green&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Dark Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_dark_green&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_light_yellow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.55&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Light Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_light_yellow&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_black&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_black&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_red&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_red&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_green&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Green&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_green&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_blue&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.05&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_blue&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$color_custom_yellow&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$color_custom_yellow&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStyleCmd(&lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Color Registration Bars with spot colors&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colregspot&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorRegistrationBar(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Dark Green&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Light Yellow&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Black&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Red&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Green&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Blue&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Yellow&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$colregspot&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colreg1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorRegistrationBar(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$colreg1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colreg2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorRegistrationBar(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$colreg2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcols&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colreg3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorRegistrationBar(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$barcols&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$colreg3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colreg4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getColorRegistrationBar(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$barcols&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$colreg4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E036 : graphic methods</title><link>https://tcpdf.org/examples/E036_graphic_methods/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E036_graphic_methods/</guid><description>&lt;p&gt;The vector primitives: lines, Bezier curves, ellipses, elliptical arcs, pie sectors, polygons, star polygons, rounded rectangles, and arrows.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E036_graphic_methods.pdf"&gt;E036_graphic_methods.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E036_graphic_methods.phps"&gt;E036_graphic_methods.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E036_graphic_methods.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E036_graphic_methods.webp" alt="Page 1 of E036_graphic_methods.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E036_graphic_methods.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 036&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Graphic Methods&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf graphic methods lines curves polygons shapes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;036_graphic_methods.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// A miter limit is a ratio with a legal minimum of 1: at 1 every sharp&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// corner is bevelled.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aliceblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// TOP&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// RIGHT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// BOTTOM&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// LEFT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.75&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mistyrose&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;powderblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkorange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;palegreen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Graphic Methods&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This example presents a compact visual overview of the drawing primitives available in tc-lib-pdf,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; including pie sectors, ellipses, lines, rectangles, curves, polygons, regular polygons, star polygons,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; rounded rectangles, and arrow styles.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$titleHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$r&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pie1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPieSector(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$r&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;FD&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pie1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pie2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPieSector(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$r&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;250&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;FD&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pie2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pie3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPieSector(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$r&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;250&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;FD&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pie3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page02&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ellipse&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// center of ellipse&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// X Y axis&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ellipse axis&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ellipse&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ellipse arc&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arc6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#79c0ff"&gt;$xc&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$yc&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arc6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page03&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$line1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$line1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$line2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$line2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$line3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$line3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rect1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$rect1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rect2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;145&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$rect2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Curve&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$curve1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCurve(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$curve1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$curve2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCurve(&lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$curve2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$curve3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCurve(&lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;75&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$curve3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Circle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$circle1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCircle(&lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$circle1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$circle2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCircle(&lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$circle2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$circle3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCircle(&lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;270&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$circle3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$circle4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCircle(&lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;270&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$circle4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Ellipse&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;103&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;270&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;103&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ellipse6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getEllipse(&lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;270&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$ellipse6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Polygon&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$polygon1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$polygon1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$polygon2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$polygon2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$polygon3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$polygon3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$polygon4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$polygon4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$polygon5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$polygon5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Regular Polygon&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regpoly6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegularPolygon(&lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$regpoly6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Star Polygon&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;55&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startpoly7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;26&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$startpoly7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Rounded Rectangle&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$roundrect1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRoundedRect(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;255&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;1111&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$roundrect1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$roundrect2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRoundedRect(&lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;255&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6.50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;1000&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$roundrect2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$roundrect3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRoundedRect(&lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;255&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;1111&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$roundrect3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$roundrect4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRoundedRect(&lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;255&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;0101&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$roundrect4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Arrows&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arrow1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;280&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;185&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;266&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arrow1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arrow2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;280&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;263&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arrow2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arrow3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;280&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;261&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arrow3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arrow4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;280&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;200&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;260&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$arrow4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E037 : image methods</title><link>https://tcpdf.org/examples/E037_image_methods/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E037_image_methods/</guid><description>&lt;p&gt;Placing &lt;abbr title="Joint Photographic Experts Group"&gt;JPEG&lt;/abbr&gt;, &lt;abbr title="Portable Network Graphics"&gt;PNG&lt;/abbr&gt;, and &lt;abbr title="Scalable Vector Graphics"&gt;SVG&lt;/abbr&gt; images, with automatic dimension derivation and scaling to a target box.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E037_image_methods.pdf"&gt;E037_image_methods.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E037_image_methods.phps"&gt;E037_image_methods.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#images"&gt;Images&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E037_image_methods.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E037_image_methods.webp" alt="Page 1 of E037_image_methods.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E037_image_methods.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: this example needs the gd extension, which converts the images with an alpha channel.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 037&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Image Methods&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf image methods jpeg png svg placement scaling&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;037_image_methods.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// bundled example images directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Image Methods&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This example shows how to place JPEG and PNG images with different color models and transparency.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Cell grid geometry: 5 columns, each sample rendered $cellw units wide.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cols&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Sample images exercising different color models and transparency.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$samples&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_CMYK.jpg&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// CMYK JPEG sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_GRAY.jpg&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// Grayscale JPEG sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_GRAY.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// Grayscale PNG sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_INDEX16.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// Indexed-color PNG with a 16-color palette.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_INDEX256.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// Indexed-color PNG with a 256-color palette.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_INDEXALPHA.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// Indexed-color PNG with alpha transparency.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGB.jpg&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB JPEG sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGB.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB PNG sample.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGBALPHA.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB PNG with alpha transparency.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGBICC.jpg&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB JPEG carrying an ICC color profile.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGBICC.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB PNG carrying an ICC color profile.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;200x100_RGBINT.png&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RGB PNG variant (alternate RGB image path).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add Images&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Each sample is rendered preserving its original aspect ratio: only the target&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// width is provided and the matching height is computed directly from the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// intrinsic image size by image-&amp;gt;getImageDimensionsByKey().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$samples&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$index&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$file&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Import the image; add() returns the image instance ID used for placement.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$iid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$file&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Resolve the cache key for the imported image.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$key&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getKey(&lt;span style="color:#79c0ff"&gt;$file&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Derive the rendered dimensions from the intrinsic image size: a single&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// target side (width) is given and the other (height) is computed to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// preserve the original aspect ratio.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$dim&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getImageDimensionsByKey(&lt;span style="color:#79c0ff"&gt;$key&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$index&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;%&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cols&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \intdiv(&lt;span style="color:#79c0ff"&gt;$index&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cols&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imgx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellw&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imgy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowh&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$iid&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$imgx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$imgy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$dim&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$dim&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// getImageDimensionsByKey() supports additional resolution modes, for example:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $pdf-&amp;gt;image-&amp;gt;getImageDimensionsByKey($key); // original pixel size&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $pdf-&amp;gt;image-&amp;gt;getImageDimensionsByKey($key, 0, 30); // derive width from height&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $pdf-&amp;gt;image-&amp;gt;getImageDimensionsByKey($key, 40, 40, true); // scale to fit a 40x40 box&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E038 : image clipping</title><link>https://tcpdf.org/examples/E038_image_clipping/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E038_image_clipping/</guid><description>&lt;p&gt;Clipping paths and soft masks applied to placed images.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E038_image_clipping.pdf"&gt;E038_image_clipping.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E038_image_clipping.phps"&gt;E038_image_clipping.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#images"&gt;Images&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E038_image_clipping.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E038_image_clipping.webp" alt="Page 1 of E038_image_clipping.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E038_image_clipping.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 038&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Image Clipping&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf image clipping masks clipping paths&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;038_image_clipping.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// bundled example images directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page10&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Image Clipping&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Demonstrates how to apply a clipping mask to an image using a star polygon path.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Clipping Mask&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cnz&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cnz&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStarPolygon(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CNZ&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$clipimg&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/200x100_CMYK.jpg&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cnz&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$clipimg&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page10&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cnz&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$cnz&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E039 : text methods</title><link>https://tcpdf.org/examples/E039_text_methods/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E039_text_methods/</guid><description>&lt;p&gt;Text placement and spacing methods, together with internal links between pages.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E039_text_methods.pdf"&gt;E039_text_methods.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E039_text_methods.phps"&gt;E039_text_methods.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E039_text_methods.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E039_text_methods.webp" alt="Page 1 of E039_text_methods.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E039_text_methods.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 039&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Text Methods&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf text methods alignment spacing writing&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;039_text_methods.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add an internal link to this page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01_link&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addInternalLink();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$styletxt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$styletxt&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// alternative to set the current font (last entry in the font stack):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// $pdf-&amp;gt;page-&amp;gt;addContent($pdf-&amp;gt;font-&amp;gt;getOutCurrentFont());&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextLine(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Test PDF text with justification (stretching) % %% %%%&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextLine(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Link to https://tcpdf.org&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txtanchor&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xoffset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yoffset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txt2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get the coordinates of the box containing the last added text string.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$aoid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLink(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://tcpdf.org&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$aoid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// add a text column with automatic line breaking&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// single block of text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtbox&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$col&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;freeserif&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellPadding(top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, right&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, left&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Text cell&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtcell1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DEFAULT&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtcell1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_EXTERNAL);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EXTERNAL&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;49&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_INTERNAL);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;INTERNAL&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;square&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#333333&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cccccc&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bstyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// TOP&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// RIGHT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// BOTTOM&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defbstyle&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// LEFT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bstyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#e7e7e7&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bstyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;][&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#e7e7e7&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtcell3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BUTTON&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bstyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtcell3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellBorderPos(borderpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$txtcell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellPadding(top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, right&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, left&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style_cell_b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// block of text between two page regions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{27A0}&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell_b&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$txt5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TEST/TEXT/ENABLE/AUTO/BREAK/POINTS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;233&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TEST/TEXT/DISABLE/AUTO/BREAK/POINTS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;252&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Hyphenation example&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// TEX hyphenation patterns can be downloaded from:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$hyphen_patterns = $pdf-&amp;gt;loadTexHyphenPatterns(&amp;#39;../../RESOURCES/hyph-la-x-classic.tex&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;setTexHyphenPatterns($hyphen_patterns);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// block of text between two page regions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;265&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style_cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overline, linethrough and underline&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Auto,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; shadow&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;addTextCell()&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; PHP_EOL &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;First line.&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; PHP_EOL &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Second Line.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;getTextCell()&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; PHP_EOL &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;First line.&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; PHP_EOL &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Second Line.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E040 : annotation form</title><link>https://tcpdf.org/examples/E040_annotation_form/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E040_annotation_form/</guid><description>&lt;p&gt;AcroForm field widgets with appearance streams, default appearance resources, and their interactive states.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E040_annotation_form.pdf"&gt;E040_annotation_form.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E040_annotation_form.phps"&gt;E040_annotation_form.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E040_annotation_form.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E040_annotation_form.webp" alt="Page 1 of E040_annotation_form.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E040_annotation_form.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 040&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Annotation Form Widgets&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf annotations form widgets acroform fields&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;040_annotation_form.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Annotation Form Fields&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Annotation Form Example&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This page demonstrates interactive PDF form fields including text input,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; radio buttons, a checkbox, combo and list boxes, plus reset, print, and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; submit actions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;62&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size:9pt; color:#333333; text-align:right;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Text Input:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fftextid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFText(&lt;span style="color:#a5d6ff"&gt;&amp;#39;test_text&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$fftextid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// radiobuttons&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Radio – Option One:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Radio – Option Two:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Radio – Option Three:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffrbid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFRadioButton(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;test_radiobutton&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, onvalue&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;one&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffrbid2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFRadioButton(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;test_radiobutton&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; onvalue&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;two&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; checked&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffrbid3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFRadioButton(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;test_radiobutton&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, onvalue&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;three&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffrbid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffrbid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffrbid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// checkbox&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Checkbox:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffckbxid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFCheckBox(&lt;span style="color:#a5d6ff"&gt;&amp;#39;test_checkbox&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffckbxid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// combobox&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Combo Box:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffcmbxid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFComboBox(&lt;span style="color:#a5d6ff"&gt;&amp;#39;test_combobox&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;one&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;two&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;2&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;three&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffcmbxid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// listbox&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;List Box:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fflsbxid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFListBox(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;test_listbox&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;one&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;two&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;three&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;multipleSelection&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;true&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$fflsbxid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// button - reset form&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;Actions:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffbtnid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFButton(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;reset&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; caption&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reset&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; action&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;S&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ResetForm&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; opt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jsp&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderStyle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;beveled&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#80c4ff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;strokeColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#404040&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffbtnid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// button - print document&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffbtnid2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFButton(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;print&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; caption&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Print&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; action&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Print()&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; opt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jsp&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderStyle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;beveled&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#80c4ff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;strokeColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#404040&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffbtnid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// button - submit form&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffbtnid3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFButton(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;submit&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; caption&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Submit&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; action&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SubmitForm&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;http://localhost/printvars.php&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Flags&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;ExportFormat&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; opt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Widget&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jsp&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderStyle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;beveled&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#80c4ff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;strokeColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#404040&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffbtnid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// JavaScript form validation functions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$formjs&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; function CheckField(name,message) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;var f = getField(name);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;if(f.value == &amp;#39;&amp;#39;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9; app.alert(message);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9; f.setFocus();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9; return false;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;return true;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; function Print() {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;if(!CheckField(&amp;#39;test_text&amp;#39;,&amp;#39;test_text is mandatory&amp;#39;)) {return;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;print();&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add raw JavaScript code&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appendRawJavaScript(script&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$formjs&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E041 : layers visibility</title><link>https://tcpdf.org/examples/E041_layers_visibility/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E041_layers_visibility/</guid><description>&lt;p&gt;Optional content groups (layers) with visibility the viewer can toggle.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E041_layers_visibility.pdf"&gt;E041_layers_visibility.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E041_layers_visibility.phps"&gt;E041_layers_visibility.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#vector-graphics"&gt;Vector Graphics&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E041_layers_visibility.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E041_layers_visibility.webp" alt="Page 1 of E041_layers_visibility.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E041_layers_visibility.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 041&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Layer Visibility (OCG)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf layers visibility OCG optional content groups&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;041_layers_visibility.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Layers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Layers and Optional Content Groups&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This page contains objects assigned to different visibility layers.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Always visible text&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lyrScreen&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;newLayer(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;screen_only&amp;#39;&lt;/span&gt;, intent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;view&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;print&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, view&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, lock&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$lyrScreen&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen-only layer content&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;54&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;closeLayer());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lyrPrint&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;newLayer(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;print_only&amp;#39;&lt;/span&gt;, intent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;design&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;print&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, view&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, lock&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$lyrPrint&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Print-only layer content&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;66&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;closeLayer());&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Viewer support for layer toggles varies by PDF reader.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;82&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E042 : html form</title><link>https://tcpdf.org/examples/E042_html_form/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E042_html_form/</guid><description>&lt;p&gt;Form controls written as &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; markup, with labels, field flags, and select precedence, mapped to AcroForm widgets.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E042_html_form.pdf"&gt;E042_html_form.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E042_html_form.phps"&gt;E042_html_form.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E042_html_form.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E042_html_form.webp" alt="Page 1 of E042_html_form.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E042_html_form.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 042&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Form Elements&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html forms input select textarea rendering&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;042_html_form.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML G&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV07&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_07&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;XHTML Form Example&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;form method=&amp;#34;post&amp;#34; action=&amp;#34;http://localhost/printvars.php&amp;#34; enctype=&amp;#34;multipart/form-data&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;name&amp;#34;&amp;gt;name:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;name&amp;#34; value=&amp;#34;&amp;#34; size=&amp;#34;20&amp;#34; maxlength=&amp;#34;30&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;password&amp;#34;&amp;gt;password:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;password&amp;#34; name=&amp;#34;password&amp;#34; value=&amp;#34;&amp;#34; size=&amp;#34;20&amp;#34; maxlength=&amp;#34;30&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;infile&amp;#34;&amp;gt;file:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;file&amp;#34; name=&amp;#34;userfile&amp;#34; size=&amp;#34;20&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;checkbox&amp;#34; name=&amp;#34;agree&amp;#34; value=&amp;#34;1&amp;#34; checked=&amp;#34;checked&amp;#34; /&amp;gt; &amp;lt;label for=&amp;#34;agree&amp;#34;&amp;gt;I agree &amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;radio&amp;#34; name=&amp;#34;radioquestion&amp;#34; id=&amp;#34;rqa&amp;#34; value=&amp;#34;1&amp;#34; /&amp;gt; &amp;lt;label for=&amp;#34;rqa&amp;#34;&amp;gt;one&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;radio&amp;#34; name=&amp;#34;radioquestion&amp;#34; id=&amp;#34;rqb&amp;#34; value=&amp;#34;2&amp;#34; checked=&amp;#34;checked&amp;#34;/&amp;gt; &amp;lt;label for=&amp;#34;rqb&amp;#34;&amp;gt;two&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;radio&amp;#34; name=&amp;#34;radioquestion&amp;#34; id=&amp;#34;rqc&amp;#34; value=&amp;#34;3&amp;#34; /&amp;gt; &amp;lt;label for=&amp;#34;rqc&amp;#34;&amp;gt;three&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;selection&amp;#34;&amp;gt;select:&amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;select name=&amp;#34;selection&amp;#34; size=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;0&amp;#34;&amp;gt;zero&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;1&amp;#34;&amp;gt;one&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;2&amp;#34;&amp;gt;two&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;3&amp;#34;&amp;gt;three&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;selection&amp;#34;&amp;gt;select:&amp;lt;/label&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;select name=&amp;#34;multiselection&amp;#34; size=&amp;#34;2&amp;#34; multiple=&amp;#34;multiple&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;0&amp;#34;&amp;gt;zero&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;1&amp;#34;&amp;gt;one&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;2&amp;#34;&amp;gt;two&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;option value=&amp;#34;3&amp;#34;&amp;gt;three&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;text&amp;#34;&amp;gt;text area:&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;textarea cols=&amp;#34;40&amp;#34; rows=&amp;#34;3&amp;#34; name=&amp;#34;text&amp;#34;&amp;gt;line one&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; line two&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;reset&amp;#34; name=&amp;#34;reset&amp;#34; value=&amp;#34;Reset&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;submit&amp;#34; name=&amp;#34;submit&amp;#34; value=&amp;#34;Submit&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;button&amp;#34; name=&amp;#34;print&amp;#34; value=&amp;#34;Print&amp;#34; onclick=&amp;#34;print()&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;hidden&amp;#34; name=&amp;#34;hiddenfield&amp;#34; value=&amp;#34;OK&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/form&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_07&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Empty attribute values: value=&amp;#34;&amp;#34; and value=&amp;#39;&amp;#39; leave the field empty, while a valueless&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// boolean attribute such as readonly is set.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html_08&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Empty attribute values&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;form&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;first&amp;#34;&amp;gt;value=&amp;#34;&amp;#34; (expected: empty):&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;first&amp;#34; value=&amp;#34;&amp;#34; size=&amp;#34;20&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;middle&amp;#34;&amp;gt;value=&amp;#39;&amp;#39; (expected: empty):&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;middle&amp;#34; value=&amp;#39;&amp;#39; size=&amp;#34;20&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;last&amp;#34;&amp;gt;value=&amp;#34;Doe&amp;#34; (expected: Doe):&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;last&amp;#34; value=&amp;#34;Doe&amp;#34; size=&amp;#34;20&amp;#34; /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;label for=&amp;#34;fixed&amp;#34;&amp;gt;readonly (expected: Fixed, read-only):&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;fixed&amp;#34; value=&amp;#34;Fixed&amp;#34; size=&amp;#34;20&amp;#34; readonly /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/form&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html_08&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;205&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E043 : html tables</title><link>https://tcpdf.org/examples/E043_html_tables/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E043_html_tables/</guid><description>&lt;p&gt;&lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; tables with the full structure tags, spanning cells, headers repeated across pages, and both border models.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E043_html_tables.pdf"&gt;E043_html_tables.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E043_html_tables.phps"&gt;E043_html_tables.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E043_html_tables.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E043_html_tables.webp" alt="Page 1 of E043_html_tables.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E043_html_tables.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 043&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Tables&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html tables thead tbody cell borders layout&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;043_html_tables.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$subtable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;6&amp;#34; cellpadding=&amp;#34;4&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;b&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;c&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;d&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML TABLES (A)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;3&amp;#34; cellpadding=&amp;#34;4&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th align=&amp;#34;center&amp;#34;&amp;gt;#&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th align=&amp;#34;right&amp;#34;&amp;gt;RIGHT align&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th align=&amp;#34;left&amp;#34;&amp;gt;LEFT align&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th&amp;gt;4A&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td bgcolor=&amp;#34;#cccccc&amp;#34; align=&amp;#34;center&amp;#34; colspan=&amp;#34;2&amp;#34;&amp;gt;A1 ex&amp;lt;i&amp;gt;amp&amp;lt;/i&amp;gt;le &amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;link&amp;lt;/a&amp;gt; column span. One two tree four five six seven eight nine ten.&amp;lt;br /&amp;gt;line after br&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;small text&amp;lt;/small&amp;gt; normal &amp;lt;sub&amp;gt;subscript&amp;lt;/sub&amp;gt; normal &amp;lt;sup&amp;gt;superscript&amp;lt;/sup&amp;gt; normal bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;first&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;sublist&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;sublist&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;second&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;lt;small color=&amp;#34;#FF0000&amp;#34; bgcolor=&amp;#34;#FFFF00&amp;#34;&amp;gt;small small small small small small small small small small small small small small small small small small small small&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;4B&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subtable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td bgcolor=&amp;#34;#0000FF&amp;#34; color=&amp;#34;yellow&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;A2 € &amp;amp;euro; &amp;amp;#8364; &amp;amp;amp; è &amp;amp;egrave;&amp;lt;br/&amp;gt;A2 € &amp;amp;euro; &amp;amp;#8364; &amp;amp;amp; è &amp;amp;egrave;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td bgcolor=&amp;#34;#FFFF00&amp;#34; align=&amp;#34;left&amp;#34;&amp;gt;&amp;lt;span color=&amp;#34;#FF0000&amp;#34;&amp;gt;Red&amp;lt;/span&amp;gt; Yellow BG&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;4C&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;1A&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td rowspan=&amp;#34;2&amp;#34; colspan=&amp;#34;2&amp;#34; bgcolor=&amp;#34;#FFFFCC&amp;#34;&amp;gt;2AA&amp;lt;br /&amp;gt;2AB&amp;lt;br /&amp;gt;2AC&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td bgcolor=&amp;#34;#FF0000&amp;#34;&amp;gt;4D&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;1B&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;4E&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;1C&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;2C&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;3C&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;4F&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;!-- EXAMPLE OF CSS STYLE --&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;table.first {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;color: #003300;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;font-size: 8pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-left: 3px solid red;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-right: 3px solid #FF00FF;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-top: 3px solid green;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border-bottom: 3px solid blue;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #ccffcc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;td {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border: 2px solid blue;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;background-color: #ffffee;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;td.second {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;border: 2px dashed green;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;HTML TABLES (B)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;first&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;6&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;30&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;b&amp;gt;No.&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34; align=&amp;#34;center&amp;#34; bgcolor=&amp;#34;#FFFF00&amp;#34;&amp;gt;&amp;lt;b&amp;gt;XXXX&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;b&amp;gt;XXXX&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt; &amp;lt;b&amp;gt;XXXX&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;b&amp;gt;XXXX&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;45&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;b&amp;gt;XXXX&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;30&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;1.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34; rowspan=&amp;#34;6&amp;#34; class=&amp;#34;second&amp;#34;&amp;gt;BRDD&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;30&amp;#34; align=&amp;#34;center&amp;#34; rowspan=&amp;#34;3&amp;#34;&amp;gt;2.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34; rowspan=&amp;#34;3&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34; rowspan=&amp;#34;2&amp;#34; &amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;30&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;3.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr bgcolor=&amp;#34;#FFFF80&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;30&amp;#34; align=&amp;#34;center&amp;#34;&amp;gt;4.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;140&amp;#34; bgcolor=&amp;#34;#00CC00&amp;#34; color=&amp;#34;#FFFF00&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;80&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td align=&amp;#34;center&amp;#34; width=&amp;#34;45&amp;#34;&amp;gt;XXXX&amp;lt;br /&amp;gt;XXXX&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;HTML TABLES (C)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;1&amp;#34; border=&amp;#34;1&amp;#34; style=&amp;#34;font-size:x-small;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;3&amp;#34;&amp;gt;COL 1 - ROW 1&amp;lt;br /&amp;gt;COLSPAN 3&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 2 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;2&amp;#34;&amp;gt;COL 2 - ROW 2 - COLSPAN 2&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 2&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 3&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;1&amp;#34; border=&amp;#34;1&amp;#34; style=&amp;#34;font-size:x-small;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;3&amp;#34;&amp;gt;COL 1 - ROW 1&amp;lt;br /&amp;gt;COLSPAN 3&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 2 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;2&amp;#34;&amp;gt;COL 2 - ROW 2 - COLSPAN 2&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 2&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 3&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;1&amp;#34; border=&amp;#34;1&amp;#34; style=&amp;#34;font-size:x-small;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;3&amp;#34;&amp;gt;COL 1 - ROW 1&amp;lt;br /&amp;gt;COLSPAN 3&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 2 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 1&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td rowspan=&amp;#34;2&amp;#34;&amp;gt;COL 2 - ROW 2 - COLSPAN 2&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 2&amp;lt;br /&amp;gt;text line&amp;lt;br /&amp;gt;text line&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;td&amp;gt;COL 3 - ROW 3&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; style=&amp;#34;font-size:x-small;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th rowspan=&amp;#34;3&amp;#34;&amp;gt;Left column&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th colspan=&amp;#34;5&amp;#34;&amp;gt;Heading Column Span 5&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th colspan=&amp;#34;9&amp;#34;&amp;gt;Heading Column Span 9&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th rowspan=&amp;#34;2&amp;#34;&amp;gt;Rowspan 2&amp;lt;br /&amp;gt;This is some text that fills the table cell.&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th colspan=&amp;#34;2&amp;#34;&amp;gt;span 2&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th colspan=&amp;#34;2&amp;#34;&amp;gt;span 2&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th rowspan=&amp;#34;2&amp;#34;&amp;gt;2 rows&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th colspan=&amp;#34;8&amp;#34;&amp;gt;Colspan 8&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;1a&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;2a&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;1b&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;2b&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;2&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;3&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;4&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;5&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;6&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;7&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&#9;&amp;lt;th&amp;gt;8&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML TABLES (D)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;3&amp;#34; cellpadding=&amp;#34;4&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;left&amp;#34;&amp;gt;&amp;lt;span&amp;gt;1L&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Alfa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Bravo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Charlie&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Delta&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Echo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Foxtrot&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Golf&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Hotel&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;India&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Juliett&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Kilo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Lima&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Mike&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;November&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Oscar&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Papa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Quebec&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Romeo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Sierra&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Tango&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Uniform&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Victor&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Whiskey&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Xray&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Yankee&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Zulu&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;span&amp;gt;1C&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Alfa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Bravo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Charlie&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Delta&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Echo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Foxtrot&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Golf&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Hotel&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;India&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Juliett&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Kilo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Lima&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Mike&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;November&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Oscar&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Papa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Quebec&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Romeo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Sierra&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Tango&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Uniform&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Victor&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Whiskey&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Xray&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Yankee&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Zulu&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;right&amp;#34;&amp;gt;&amp;lt;span&amp;gt;1R&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Alfa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Bravo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Charlie&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Delta&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Echo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Foxtrot&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Golf&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Hotel&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;India&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Juliett&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Kilo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Lima&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Mike&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;November&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Oscar&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Papa&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Quebec&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Romeo&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Sierra&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Tango&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Uniform&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Victor&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Whiskey&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Xray&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Yankee&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;Zulu&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;left&amp;#34;&amp;gt;&amp;lt;span&amp;gt;2L&amp;lt;/span&amp;gt; A1 ex&amp;lt;i&amp;gt;amp&amp;lt;/i&amp;gt;le &amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;link&amp;lt;/a&amp;gt; column span. Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;span&amp;gt;2C&amp;lt;/span&amp;gt; A1 ex&amp;lt;i&amp;gt;amp&amp;lt;/i&amp;gt;le &amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;link&amp;lt;/a&amp;gt; column span. Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;right&amp;#34;&amp;gt;&amp;lt;span&amp;gt;2R&amp;lt;/span&amp;gt; A1 ex&amp;lt;i&amp;gt;amp&amp;lt;/i&amp;gt;le &amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;link&amp;lt;/a&amp;gt; column span. Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu.&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;left&amp;#34;&amp;gt;&amp;lt;small&amp;gt;3L small text&amp;lt;/small&amp;gt; Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;small&amp;gt;3C small text&amp;lt;/small&amp;gt; Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;right&amp;#34;&amp;gt;&amp;lt;small&amp;gt;3R small text&amp;lt;/small&amp;gt; Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey Xray Yankee Zulu&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;3&amp;#34; cellpadding=&amp;#34;4&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;left&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;20&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;center&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;20&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td align=&amp;#34;right&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;20&amp;#34; border=&amp;#34;0&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html4&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html5A&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;0&amp;#34; cellpadding=&amp;#34;5&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th align=&amp;#34;left&amp;#34; style=&amp;#34;font-size:32pt; color:rgba(255, 0, 0, 0.5);&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;TEST&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html5A&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html5B&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;0&amp;#34; cellpadding=&amp;#34;5&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;th align=&amp;#34;left&amp;#34; style=&amp;#34;font-size:32pt; color:rgba(0, 255, 0, 0.5); padding-left:10mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&#9;TEST&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html5B&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;210&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255, 0, 0)&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;border-bottom:6mm solid rgb(255, 0, 0);&amp;#34;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Percentage widths are resolved against the containing element:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// an image with width:100% fills its fixed-width table cell (issue #247).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML TABLES (E): PERCENTAGE WIDTHS&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table style=&amp;#34;width:100%;&amp;#34; border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;width:25%;&amp;#34;&amp;gt;25% column&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;width:75%;&amp;#34;&amp;gt;75% column&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;width:25%;&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; style=&amp;#34;width:100%;&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;width:75%;&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; style=&amp;#34;width:50%;&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table style=&amp;#34;width:160mm;&amp;#34; border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;width:40mm;&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;images/tcpdf_logo.jpg&amp;#34; alt=&amp;#34;TCPDF logo&amp;#34; style=&amp;#34;width:100%;&amp;#34; /&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;The image on the left fills the width of its 40mm cell (width:100%).&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr style=&amp;#34;width:50%;&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;The horizontal rule above spans 50% of the container width.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html6&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Cell padding sources: the cellpadding attribute (pixels) sets the default on&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// all four sides, CSS padding on a cell overrides it side by side.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 5px = 3.75pt, so the first two tables below are equivalent.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML TABLES (F): CELL PADDING&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;cellpadding=&amp;#34;5&amp;#34; attribute (5px on every side)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;5&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Header A&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Header B&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;alpha&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;beta&amp;lt;br /&amp;gt;second line&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;equivalent CSS padding:3.75pt on every cell&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;th style=&amp;#34;padding:3.75pt;&amp;#34;&amp;gt;Header A&amp;lt;/th&amp;gt;&amp;lt;th style=&amp;#34;padding:3.75pt;&amp;#34;&amp;gt;Header B&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;padding:3.75pt;&amp;#34;&amp;gt;alpha&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;padding:3.75pt;&amp;#34;&amp;gt;beta&amp;lt;br /&amp;gt;second line&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;no padding at all&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;0&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Header A&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Header B&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;alpha&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;beta&amp;lt;br /&amp;gt;second line&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;per-side CSS padding overriding the cellpadding=&amp;#34;5&amp;#34; attribute&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;5&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td&amp;gt;attribute&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding-bottom:12mm;&amp;#34;&amp;gt;bottom 12mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding-left:12mm;&amp;#34;&amp;gt;left 12mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:0;&amp;#34;&amp;gt;none&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;padding scale: 0, 2, 4, 8 and 12 millimeters&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:0mm; background-color:#ffeeee;&amp;#34;&amp;gt;0mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:2mm; background-color:#ffddcc;&amp;#34;&amp;gt;2mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:4mm; background-color:#ffffcc;&amp;#34;&amp;gt;4mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:8mm; background-color:#ddffcc;&amp;#34;&amp;gt;8mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&#9;&amp;lt;td style=&amp;#34;padding:12mm; background-color:#cceeff;&amp;#34;&amp;gt;12mm&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html7&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The column count comes from every row: a row with more cells adds columns&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// inside the table width, and a row span from a previous row takes its column.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;HTML TABLES (G): IRREGULAR ROWS&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;later rows with more cells than the first row&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Item&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Widget&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;pieces&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Cable&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;meters&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;spare&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p&amp;gt;a row span keeps its column in the following row&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;border-collapse:collapse; width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;#34;2&amp;#34; style=&amp;#34;background-color:#eeeeff;&amp;#34;&amp;gt;Group (rowspan 2)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;first&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;second&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;extra&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#9;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html8&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E044 : toc index</title><link>https://tcpdf.org/examples/E044_toc_index/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E044_toc_index/</guid><description>&lt;p&gt;Bookmarks, a generated table of contents, and an index, with page numbers resolved at output time.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E044_toc_index.pdf"&gt;E044_toc_index.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E044_toc_index.phps"&gt;E044_toc_index.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E044_toc_index.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E044_toc_index.webp" alt="Page 1 of E044_toc_index.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E044_toc_index.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2017-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 044&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Table of Contents and Index&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf toc index bookmarks pagination&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;044_toc_index.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The bold heading font is derived from the base font with cloneFont() instead of being inserted&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// explicitly: the bold definition file (dejavusansb.json) is resolved from the requested style,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// so the headings below and the top-level entries of the generated TOC (that addTOC() renders by&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// cloning the current font with the &amp;#39;B&amp;#39; style) are really bold and not just the regular glyphs.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;cloneFont(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sections&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Introduction&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;summary&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This page introduces the outline entries that will be collected by addTOC into a generated table of contents.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;topic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The top-level bookmark uses the same explicit style arguments shown in the overview example.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Planning&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;summary&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This page adds another destination so the table of contents can render a second page number.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;topic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A second level bookmark is also added on each page to show indented TOC entries.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Execution&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;summary&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This page stands in for the main body of the document and contributes more outline targets.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;topic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Using separate pages makes the addTOC output easier to verify visually.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Results&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;summary&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This last content page completes the sample before the dedicated TOC page is inserted.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;topic&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The final PDF contains five pages total: four content pages and one generated TOC page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$sections&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$index&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; notes&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The heading font must be the current one: the text is measured and encoded&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// with it, so selecting a different font on the page would draw the wrong glyphs.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;cloneFont(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;idx&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Example 044 - &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;cloneFont(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;idx&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$index&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; of 4&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;34&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;summary&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;48&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$section&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;topic&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;62&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageTOC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TOC&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;cloneFont(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;idx&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageTOC&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table of contents&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pageTOC&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;cloneFont(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;idx&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageTOC&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellMargin(top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, right&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, left&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellPadding(top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, right&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, left&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style_cell_toc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;round&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$style_cell_toc&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTOC(page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, rtl&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E045 : encryption and permissions</title><link>https://tcpdf.org/examples/E045_encryption_and_permissions/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E045_encryption_and_permissions/</guid><description>&lt;p&gt;User and owner passwords, and the permission flags that control what a viewer will allow.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E045_encryption_and_permissions.pdf"&gt;E045_encryption_and_permissions.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E045_encryption_and_permissions.phps"&gt;E045_encryption_and_permissions.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#encryption-and-permissions"&gt;Encryption and Permissions&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E045_encryption_and_permissions.pdf"&gt;E045_encryption_and_permissions.pdf&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E045_encryption_and_permissions.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-27&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fileId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \md5(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E045_encryption_and_permissions&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$encrypt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Encrypt\Encrypt(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; enabled&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file_id&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fileId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; permissions&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;modify&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;copy&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;annot-forms&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;assemble&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; user_pass&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;demo-user&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; owner_pass&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;demo-owner&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$encrypt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 045&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Encryption and Permissions&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf encryption permissions user password owner password rights&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E045_encryption_and_permissions.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Encryption and Permissions&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This document demonstrates PDF encryption and permission controls using tc-lib-pdf.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The file is protected with a user password (&amp;lt;em&amp;gt;demo-user&amp;lt;/em&amp;gt;) and an owner password (&amp;lt;em&amp;gt;demo-owner&amp;lt;/em&amp;gt;).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Encryption restricts unauthorized access while the owner password grants full control.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The allowed permissions for this document are: &amp;lt;strong&amp;gt;modify&amp;lt;/strong&amp;gt;, &amp;lt;strong&amp;gt;copy&amp;lt;/strong&amp;gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;annot-forms&amp;lt;/strong&amp;gt;, and &amp;lt;strong&amp;gt;assemble&amp;lt;/strong&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; All other operations, such as printing, are denied.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E046 : pangrams</title><link>https://tcpdf.org/examples/E046_pangrams/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E046_pangrams/</guid><description>&lt;p&gt;Pangrams in many scripts, a quick way to see which glyphs a font actually covers.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E046_pangrams.pdf"&gt;E046_pangrams.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E046_pangrams.phps"&gt;E046_pangrams.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E046_pangrams.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E046_pangrams.webp" alt="Page 1 of E046_pangrams.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E046_pangrams.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 046&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Pangrams&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pangrams unicode multilingual&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;046_pangrams.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// unifont covers the full Unicode BMP including Arabic, Hebrew, Thai,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Devanagari, Hangul, and CJK Unified Ideographs.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Pangrams&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// English&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;English&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The quick brown fox jumps over the lazy dog.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Arabic (RTL)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Arabic (العربية)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:right&amp;#34;&amp;gt;صِف خَلقَ خَودِكِ كَمِثلِ الشَّمسِ إِذ بَزَغَت — يَحظى الضَّجيعُ بِها نَجلاءَ مِعطارِ&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Hebrew (RTL)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Hebrew (עברית)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:right&amp;#34;&amp;gt;דג סקרן שט בים מאוכזב ולפתע מצא חברה&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Thai&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Thai (ภาษาไทย)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Devanagari (Hindi)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Devanagari (देवनागरी)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;ऋषि सुयश ने प्रख्यात ग्रंथ की रचना करके हमें ज्ञान दिया।&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Hangul (Korean)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Hangul (한글)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Greek&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Greek (Ελληνικά)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Ξεσκεπάζω την ψυχοφθόρα βδελυγμία.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Japanese&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Japanese (日本語)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Russian&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Russian (Русский)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Съешь же ещё этих мягких французских булок, да выпей чаю.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Armenian&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Armenian (Հայերեն)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Բոլոր մարդիկ ծնվում են ազատ և հավասար իրենց արժանապատ­վությամբ և իրա­վուն­քնե­րով։&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Georgian&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Georgian (ქართული)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;გთხოვთ ახლავე გაიაროთ რეგისტრაცია უფასო პროგრამაზე.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Tamil&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Tamil (தமிழ்)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;யாமறிந்த மொழிகளிலே தமிழ்மொழி போல் இனிதாவது எங்கும் காணோம்.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Bengali&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Bengali (বাংলা)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;সুপ্রিয় বন্ধুগণ, আমরা বাংলা ভাষায় কথা বলি।&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Amharic&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Amharic (አማርኛ)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;ሰው ናቸው ወይስ ሃሳቤን ሳልጨርስ ትዕዛዙን ሰጡ?&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Khmer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Khmer (ភាសាខ្មែរ)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;ខ្ញុំអាចញ៉ាំកញ្ចក់បានដោយគ្មានបញ្ហា។&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Tibetan&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Tibetan (བོད་སྐད།)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;ང་གཤེགས་ཀྱི་ཡིག་གུ་ཟ་ཐུབ་ཀྱི་ཡོད། དེས་ང་ལ་གནོད་པ་མི་བྱེད།&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Chinese (Traditional - Thousand Character Classic)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Chinese (中文)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;天地玄黄，宇宙洪荒。日月盈昃，辰宿列张。寒来暑往，秋收冬藏。闰余成岁，律吕调阳。&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E047 : remote resources security</title><link>https://tcpdf.org/examples/E047_remote_resources_security/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E047_remote_resources_security/</guid><description>&lt;p&gt;The fileOptions controls: host allowlists for remote assets, path allowlists for local reads, &lt;abbr title="Transport Layer Security"&gt;TLS&lt;/abbr&gt; verification, and timeouts.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E047_remote_resources_security.pdf"&gt;E047_remote_resources_security.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E047_remote_resources_security.phps"&gt;E047_remote_resources_security.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#remote-and-local-resources"&gt;Remote and Local Resources&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/remote-resources/"&gt;Remote Resources&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E047_remote_resources_security.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E047_remote_resources_security.webp" alt="Page 1 of E047_remote_resources_security.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E047_remote_resources_security.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates fileOptions host allowlisting and remote fetch controls while&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * keeping the default run deterministic (no network dependency required).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$allowedPaths&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; array_values(array_unique(array_filter([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; K_PATH_FONTS,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;])));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$curlopts&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fixedCurlOpts&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (defined(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CURLOPT_CONNECTTIMEOUT&amp;#39;&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$curlopts&lt;/span&gt;[CURLOPT_CONNECTTIMEOUT] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (defined(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CURLOPT_TIMEOUT&amp;#39;&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$curlopts&lt;/span&gt;[CURLOPT_TIMEOUT] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (defined(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CURLOPT_SSL_VERIFYHOST&amp;#39;&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fixedCurlOpts&lt;/span&gt;[CURLOPT_SSL_VERIFYHOST] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (defined(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CURLOPT_SSL_VERIFYPEER&amp;#39;&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fixedCurlOpts&lt;/span&gt;[CURLOPT_SSL_VERIFYPEER] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fileOptions&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allowedHosts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;assets.example.com&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allowedPaths&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$allowedPaths&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maxRemoteSize&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1024&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1024&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;curlopts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$curlopts&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fixedCurlOpts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fixedCurlOpts&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 047&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote Resource Security&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example remote resources fileOptions security&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;047_remote_resources_security.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote Resources and fileOptions Security&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;This example configures host allowlisting, local path allowlisting, and transfer limits.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;It renders local assets by default for deterministic runs.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Optional remote probe can be enabled with ?probe=1 in browser mode.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;26&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$localImage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$imgdir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/200x100_RGB.png&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$statusY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$iid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$localImage&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$iid&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;54&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$localStatus&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Local image load: OK (&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; basename(&lt;span style="color:#79c0ff"&gt;$localImage&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;)&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;catch&lt;/span&gt; (\Throwable &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$localStatus&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Local image load: FAILED - &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$smallfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$localStatus&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$statusY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;probe&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;probe&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$remoteStatus&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote probe: skipped (add ?probe=1 to run a blocked-host fetch attempt).&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#a5d6ff"&gt;&amp;#39;https://untrusted.example.invalid/logo.png&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$remoteStatus&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote probe: request did not raise an exception (check your environment wrappers).&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;catch&lt;/span&gt; (\Throwable &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$remoteStatus&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote probe: blocked/failure as expected - &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$remoteStatus&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Configured policy:&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;- allowedHosts: assets.example.com&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;- allowedPaths: fonts + image fixture directories&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;- maxRemoteSize: 1 MiB&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;- curlopts: short connect/transfer timeout&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;- fixedCurlOpts: TLS peer+host verification&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;112&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E048 : page boxes prepress</title><link>https://tcpdf.org/examples/E048_page_boxes_prepress/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E048_page_boxes_prepress/</guid><description>&lt;p&gt;The five page boxes (MediaBox, CropBox, BleedBox, TrimBox, ArtBox) with their BoxColorInfo guidelines drawn on the page.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E048_page_boxes_prepress.pdf"&gt;E048_page_boxes_prepress.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E048_page_boxes_prepress.phps"&gt;E048_page_boxes_prepress.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E048_page_boxes_prepress.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E048_page_boxes_prepress.webp" alt="Page 1 of E048_page_boxes_prepress.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E048_page_boxes_prepress.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates Media/Crop/Bleed/Trim/Art page boxes for print-oriented&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * workflows, plus visible guides for quick prepress validation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 048&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Boxes and Prepress Guides&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example page boxes MediaBox CropBox BleedBox TrimBox ArtBox&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;048_page_boxes_prepress.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) getenv(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TC_EXAMPLE_PROBE&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;probe&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;probe&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageBoxesMm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CropBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;205.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;292.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BleedBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;207.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;294.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TrimBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;200.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;287.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ArtBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;277.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageBoxesPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pageBoxesMm&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pageBoxesPt&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints((float) &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints((float) &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints((float) &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints((float) &lt;span style="color:#79c0ff"&gt;$coords&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;box&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageBoxesPt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Boxes: Media/Crop/Bleed/Trim/Art&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;This sheet overlays the configured page boxes to verify prepress bounds.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Coordinates are defined in page-box metadata and rendered here as guides.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MediaBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#000000&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; []]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CropBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#1f77b4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BleedBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#d62728&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TrimBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.35&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#2ca02c&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; []]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ArtBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#9467bd&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]]],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$boxes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MediaBox&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageBoxesMm&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;46.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;MediaBox&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CropBox&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BleedBox&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;TrimBox&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ArtBox&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;isset(&lt;span style="color:#79c0ff"&gt;$boxes&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;continue&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$boxes&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$w&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$h&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$styles&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; sprintf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%s [%.1f, %.1f, %.1f, %.1f]&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$box&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Tip: use TrimBox as the final cut size and keep critical artwork inside ArtBox.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BleedBox extends beyond trim to avoid white edges after cutting.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;72&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$probe&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$matches&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probeRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pointsPerUnit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pattern&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/\\/(MediaBox|CropBox|BleedBox|TrimBox|ArtBox)\\s*\\[\\s*([0-9.+-]+)\\s+([0-9.+-]+)\\s+([0-9.+-]+)\\s+([0-9.+-]+)\\s*\\]/&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\preg_match_all(&lt;span style="color:#79c0ff"&gt;$pattern&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$matches&lt;/span&gt;, PREG_SET_ORDER) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probeRows&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page-box probe: unable to parse page-box dictionaries.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$matches&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$llx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lly&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$urx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ury&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$vals&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$wPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$urx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$llx&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ury&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lly&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$probeRows&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; sprintf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%s PDF=[%.3f %.3f %.3f %.3f] sizePt=%.3fx%.3f sizeUnit=%.3fx%.3f&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$llx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lly&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$urx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ury&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$wPt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hPt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pointsPerUnit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$wPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pointsPerUnit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pointsPerUnit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hPt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pointsPerUnit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$output&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;[E048 page-box probe]&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; implode(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$probeRows&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fwrite(STDERR, &lt;span style="color:#79c0ff"&gt;$output&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; error_log(&lt;span style="color:#79c0ff"&gt;$output&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E049 : output targets integration</title><link>https://tcpdf.org/examples/E049_output_targets_integration/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E049_output_targets_integration/</guid><description>&lt;p&gt;Getting the raw &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; bytes once, then streaming them to a browser, saving them to a file, or handing them to something else.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E049_output_targets_integration.pdf"&gt;E049_output_targets_integration.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E049_output_targets_integration.phps"&gt;E049_output_targets_integration.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#start-here"&gt;Start Here&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E049_output_targets_integration.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E049_output_targets_integration.webp" alt="Page 1 of E049_output_targets_integration.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E049_output_targets_integration.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates routing one generated PDF to multiple output targets:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * render, download, save, and MIME attachment payload.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 049&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Output Targets Integration&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example output render download save mime&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;049_output_targets_integration.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) (&lt;span style="color:#79c0ff"&gt;$argv&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;elseif&lt;/span&gt; (isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_string(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; strtolower(trim(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$allowedModes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;download&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;mime&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;in_array(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$allowedModes&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titlefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Output Targets Integration&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;This example creates one raw PDF payload and sends it through different targets.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Current mode: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; strtoupper(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Browser usage: ?mode=render|download|save|mime&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CLI usage: php examples/E049_output_targets_integration.php render&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;download&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;downloadPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;savePDF(path&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt;, rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; header(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Content-Type: text/plain; charset=utf-8&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Saved PDF to: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/049_output_targets_integration.pdf&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mime&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mimeAttachment&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMIMEAttachmentPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; header(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Content-Type: text/plain; charset=utf-8&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;MIME attachment preview (first 20 lines):&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; explode(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, str_replace(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\r\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$mimeAttachment&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; implode(&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, array_slice(&lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;Total MIME length: &amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; strlen(&lt;span style="color:#79c0ff"&gt;$mimeAttachment&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; bytes&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E050 : shipping label barcodes</title><link>https://tcpdf.org/examples/E050_shipping_label_barcodes/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E050_shipping_label_barcodes/</guid><description>&lt;p&gt;A shipping label combining Code 128 and &lt;abbr title="Quick Response"&gt;QR&lt;/abbr&gt; Code with the address block and routing text.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E050_shipping_label_barcodes.pdf"&gt;E050_shipping_label_barcodes.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E050_shipping_label_barcodes.phps"&gt;E050_shipping_label_barcodes.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#barcodes"&gt;Barcodes&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/projects/tc-lib-barcode/"&gt;tc-lib-barcode&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E050_shipping_label_barcodes.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E050_shipping_label_barcodes.webp" alt="Page 1 of E050_shipping_label_barcodes.pdf" width="800" height="1200" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E050_shipping_label_barcodes.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates a production-style shipping label with 1D and 2D barcodes,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * quiet-zone padding, and human-readable tracking details.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 050&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Shipping Label with Barcodes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example shipping label barcode qrcode code128&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;050_shipping_label_barcodes.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Initialize default font for text rendering&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$defaultFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.35&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#111111&amp;#39;&lt;/span&gt;]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sepStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#555555&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$barcodeStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw frame and separators&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;92&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;142&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sepStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;94&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;94&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sepStyle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Header section&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$headerHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align: left;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-family: helvetica; font-weight: bold; font-size: 11pt; margin: 0;&amp;#34;&amp;gt;EXPRESS SHIPPING&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-family: helvetica; font-weight: bold; font-size: 11pt; margin: 0;&amp;#34;&amp;gt;PRIORITY&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headerHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// QR code in top-right&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$qrPayload&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;TRACK:1Z999AA10123456784&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;ORDER:SO-2026-05-0018&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;SERVICE:EXPRESS-24&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;FROM:NL-RTM-W17&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;TO:DE-HAM-ACME&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;QRCODE,M&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$qrPayload&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;72&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; style&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Address section&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addressHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; border=&amp;#34;0&amp;#34; width=&amp;#34;100%&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;50%&amp;#34; style=&amp;#34;vertical-align: top; font-family: helvetica; font-size: 8pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-weight: bold; margin: 0; padding-bottom: 1mm;&amp;#34;&amp;gt;&amp;lt;u&amp;gt;SHIP FROM&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin: 0; line-height: 1.3;&amp;#34;&amp;gt;Warehouse 17&amp;lt;br/&amp;gt;42 Logistics Rd&amp;lt;br/&amp;gt;Rotterdam, NL&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td width=&amp;#34;50%&amp;#34; style=&amp;#34;vertical-align: top; font-family: helvetica; font-size: 8pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-weight: bold; margin: 0; padding-bottom: 1mm;&amp;#34;&amp;gt;&amp;lt;u&amp;gt;SHIP TO&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin: 0; line-height: 1.3;&amp;#34;&amp;gt;Acme Retail&amp;lt;br/&amp;gt;18 Harbor Street&amp;lt;br/&amp;gt;Hamburg, DE&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 8pt; margin: 1mm 0 0 0; text-align: center;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Scan for full shipment payload&amp;lt;/em&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$addressHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;37&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;84&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tracking&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1Z999AA10123456784&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$orderRef&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SO-2026-05-0018&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$service&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EXPRESS-24&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Tracking section&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$trackingHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-family: courier; font-weight: bold; font-size: 11pt; margin-bottom: 2mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$tracking&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ul style=&amp;#34;font-family: helvetica; font-size: 8pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Order: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$orderRef&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Service: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$service&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ul&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$trackingHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;96&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;84&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 1D barcode&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getBarcode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tracking&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;115&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; style&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$barcodeStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Footer text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$footerHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 8pt; margin: 0; text-align: left; line-height: 1.2;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Quiet zones are intentionally reserved around both symbols to improve scanner reliability.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$footerHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;136&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;84&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E051 : viewer preferences navigation</title><link>https://tcpdf.org/examples/E051_viewer_preferences_navigation/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E051_viewer_preferences_navigation/</guid><description>&lt;p&gt;Viewer preferences, page layout and display modes, named destinations, and links.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E051_viewer_preferences_navigation.pdf"&gt;E051_viewer_preferences_navigation.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E051_viewer_preferences_navigation.phps"&gt;E051_viewer_preferences_navigation.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E051_viewer_preferences_navigation.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E051_viewer_preferences_navigation.webp" alt="Page 1 of E051_viewer_preferences_navigation.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E051_viewer_preferences_navigation.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates viewer preference configuration, display mode selection,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * bookmarks, named destinations, and internal link annotations.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * What this demonstrates:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setDisplayMode(): initial zoom, page layout, and page mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setViewerPreferences(): HideToolbar, CenterWindow, Duplex, PrintScaling, etc.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setNamedDestination(): register named jump targets for cross-document linking.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - addInternalLink(): page/position link ID for use inside the same document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setLink() + page-&amp;gt;addAnnotRef(): clickable rectangle annotations.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setBookmark(): outline entries that drive the bookmark panel.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 051&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Viewer Preferences &amp;amp; Navigation&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf viewer preferences navigation bookmarks named destinations links&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;051_viewer_preferences_navigation.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Viewer preferences&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The viewer will open the document in single-page layout with outline panel&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// visible. The window is centered on screen and the document title shown in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the title bar.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CenterWindow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FitWindow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HideToolbar&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HideMenubar&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Duplex&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DuplexFlipLongEdge&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintScaling&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;none&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NumCopies&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintPageRange&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NonFullScreenPageMode&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UseOutlines&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Display mode: open at full width, single-page layout, with outlines panel.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDisplayMode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; zoom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\DisplayZoom&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FullWidth,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; layout&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\PageLayout&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;SinglePage,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\PageDisplayMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;UseOutlines,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$headFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$subFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 1 – Cover |======================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register a named destination at the top of page 1. External documents or&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// bookmark links can jump here via &amp;#39;#cover&amp;#39;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNamedDestination(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cover&amp;#39;&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cover&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cover&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkblue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$coverHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: helvetica; color: #1a3c6e; text-align: center; margin-top: 30mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Viewer Preferences &amp;amp;amp; Navigation Demo&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 11pt; text-align: center; color: #444444;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; tc-lib-pdf · Example 051&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This document demonstrates:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ul style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Viewer preferences&amp;lt;/strong&amp;gt; — initial layout, duplex, print scaling, and window behavior.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Display mode&amp;lt;/strong&amp;gt; — zoom, page layout, and panel visibility on open.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Named destinations&amp;lt;/strong&amp;gt; — stable jump targets for cross-document links.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Internal link annotations&amp;lt;/strong&amp;gt; — clickable regions mapped to page positions.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Bookmarks / outlines&amp;lt;/strong&amp;gt; — hierarchical navigation panel entries.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt; margin-top: 8mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The navigation buttons on page 4 use &amp;lt;code&amp;gt;setLink&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;addInternalLink&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; to create clickable rectangles that jump to each chapter page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$coverHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 2 – Chapter 1 |==================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$destChapter1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNamedDestination(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;chapter-1&amp;#39;&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 1 — Overview&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$destChapter1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkgreen&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1.1 Introduction&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ch1Html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica; color: #1a6e3c;&amp;#34;&amp;gt;Chapter 1 — Overview&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This chapter is the target of the named destination &amp;lt;code&amp;gt;chapter-1&amp;lt;/code&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Clicking the button on the navigation page jumps here via an internal link annotation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: helvetica; color: #1a6e3c;&amp;#34;&amp;gt;1.1 Introduction&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The &amp;lt;code&amp;gt;setNamedDestination()&amp;lt;/code&amp;gt; method registers a jump target that can be referenced&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; from bookmarks (using the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; prefix), from link annotations, or from external&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; documents pointing to this file.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Named destinations are stored in the PDF &amp;lt;em&amp;gt;/Dests&amp;lt;/em&amp;gt; dictionary and are independent&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; of page numbering — they remain stable even if pages are reordered.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch1Html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 3 – Chapter 2 |==================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$destChapter2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNamedDestination(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;chapter-2&amp;#39;&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 2 — Viewer Preferences&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$destChapter2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;darkred&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;2.1 Preference Keys&amp;#39;&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$prefTable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica; color: #6e1a1a;&amp;#34;&amp;gt;Chapter 2 — Viewer Preferences&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The &amp;lt;code&amp;gt;setViewerPreferences()&amp;lt;/code&amp;gt; method populates the &amp;lt;em&amp;gt;/ViewerPreferences&amp;lt;/em&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; dictionary in the PDF catalog. The following preferences are active in this document:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;font-family: helvetica; font-size: 9pt; width: 100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr style=&amp;#34;background-color: #dddddd;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Key&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Effect&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;DisplayDocTitle&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;true&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show PDF title in window title bar.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;CenterWindow&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;true&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Center the viewer window on screen.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Duplex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DuplexFlipLongEdge&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Default duplex setting for print dialog.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PrintScaling&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;none&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Disable auto-scaling in print dialog.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;NumCopies&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Default copy count in print dialog.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PrintPageRange&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1–4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Default page range in print dialog.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;NonFullScreenPageMode&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;UseOutlines&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show outline panel when exiting full screen.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prefTable&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 4 – Navigation Map |=============================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Navigation Map&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$navHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica; color: #333333;&amp;#34;&amp;gt;Navigation Map&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each button below is a clickable link annotation (&amp;lt;code&amp;gt;setLink&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;addAnnotRef&amp;lt;/code&amp;gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that uses &amp;lt;code&amp;gt;addInternalLink()&amp;lt;/code&amp;gt; to jump to the start of a specific page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt; margin-bottom: 8mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Alternatively, the bookmark panel (outline) on the left provides the same navigation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; via the bookmarks registered with &amp;lt;code&amp;gt;setBookmark()&amp;lt;/code&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$navHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Define style for button boxes&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#333366&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#e8eef8&amp;#39;&lt;/span&gt;]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$btnFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$btnFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Helper to draw a navigation button and attach a link annotation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawNavButton&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$bx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$by&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$bw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$bh&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int &lt;span style="color:#79c0ff"&gt;$targetPage&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$bx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$by&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bw&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bh&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Reset fill color to dark text after the rect draw, which left the fill color&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// set to the button background color, making the label text invisible.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;#333366&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$by&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lnkid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addInternalLink(&lt;span style="color:#79c0ff"&gt;$targetPage&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLink(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$by&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bw&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bh&lt;/span&gt;, link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lnkid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$annid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawNavButton&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Go to Cover (page 1)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawNavButton&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Go to Chapter 1 (page 2)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawNavButton&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Go to Chapter 2 (page 3)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$btnFill&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Restore the plain body font in the internal font stack before addHTMLCell;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// font-&amp;gt;insert with &amp;#39;B&amp;#39; above left the stack on the bold variant and would&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// cause addHTMLCell to capture/restore &amp;#39;helveticabB&amp;#39; → undefined key warning.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Show named destination links using &amp;#39;#name&amp;#39; notation in bookmarks&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$namedNoteHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 9pt; color: #555555; margin-top: 10mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The bookmark entries above the buttons use &amp;lt;code&amp;gt;setNamedDestination()&amp;lt;/code&amp;gt; targets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (&amp;lt;code&amp;gt;#cover&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#chapter-1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#chapter-2&amp;lt;/code&amp;gt;).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Named destinations survive page renumbering and can be referenced from external documents.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$namedNoteHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;145&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E052 : custom fonts fallback</title><link>https://tcpdf.org/examples/E052_custom_fonts_fallback/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E052_custom_fonts_fallback/</guid><description>&lt;p&gt;Custom font families with a fallback chain, so a glyph missing from the first font is drawn from the next.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E052_custom_fonts_fallback.pdf"&gt;E052_custom_fonts_fallback.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E052_custom_fonts_fallback.phps"&gt;E052_custom_fonts_fallback.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E052_custom_fonts_fallback.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E052_custom_fonts_fallback.webp" alt="Page 1 of E052_custom_fonts_fallback.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E052_custom_fonts_fallback.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates custom font selection, Unicode coverage strategy, and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * font-family fallback across multiple scripts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * What this demonstrates:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - font-&amp;gt;insert(): loading built-in and extended font families.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Subset vs full-embed tradeoff (constructor $subsetfont flag).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Choosing fonts by Unicode coverage: helvetica (Latin), dejavusans&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (Latin + Greek + Cyrillic + IPA), unifont (full Unicode BMP).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - HTML font-family CSS mapping to pre-loaded font slots.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Per-script font selection in addHTMLCell markup.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Synthetic bold and italic for a family that ships no such variation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Companion libraries: tc-lib-pdf-font, tc-lib-unicode, tc-lib-unicode-data.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// K_PATH_FONTS must point to the directory holding .z and .php font metric files.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Subset font embedding: when $subsetfont = true (constructor arg 3), only the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// glyphs actually used in the document are embedded. This produces smaller PDFs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// but makes the font unsuitable for later editing. Set to false for archival PDFs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// (PDF/A, PDF/UA) or whenever the full character set must be available.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 052&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom Fonts &amp;amp; Unicode Fallback&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf font unicode multilingual fallback subset dejavusans unifont&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;052_custom_fonts_fallback.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Pre-load all font families that will be used in the document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// font-&amp;gt;insert() returns a font descriptor array. The &amp;#39;out&amp;#39; key contains&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the PDF operator stream that must be injected onto a page before the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// font is used. Loading fonts before addPage() registers them in the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// font object pool; injecting &amp;#39;out&amp;#39; at the start of each page activates&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the font for that page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Helvetica: core Type-1, no embedding required, Latin + standard symbols only.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fHelvetica&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fHelveticaB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Times New Roman (core): serif alternative for body text, Latin only.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fTimes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Courier (core): monospaced, Latin only; good for code samples.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fCourier&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// DejaVu Sans: TrueType, Latin + Greek + Cyrillic + IPA + many other scripts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Covers most Western European, Eastern European, and Slavic languages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fDejavu&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Unifont: TrueType, very broad Unicode BMP (plane 0) coverage including Arabic,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Hebrew, Thai, Devanagari, and many additional scripts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// File size is large; use subset=true when embedding it in production PDFs.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fUnifont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// DejaVu Sans ExtraLight: a family that ships no bold and no italic variation,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// used below to show how those styles are synthesized.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fExtraLight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusansextralight&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 1 – Font Coverage Overview |=====================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fHelvetica&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$overviewHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Font Selection &amp;amp;amp; Unicode Fallback&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; PDF viewers cannot substitute fonts automatically — every glyph must come from&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; an embedded font resource. The strategy is:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ol style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Use &amp;lt;strong&amp;gt;core Type-1 fonts&amp;lt;/strong&amp;gt; (helvetica, times, courier) for Latin-only text to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; avoid embedding overhead.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Upgrade to &amp;lt;strong&amp;gt;DejaVu Sans&amp;lt;/strong&amp;gt; for pages that mix Latin with Greek, Cyrillic, or&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; extended Latin (diacritics, IPA).&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Use &amp;lt;strong&amp;gt;Unifont&amp;lt;/strong&amp;gt; for pages that require full Unicode BMP coverage (Arabic, Hebrew,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Thai, Devanagari, Hangul, CJK).&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; In HTML cells, specify the font via &amp;lt;code&amp;gt;style=&amp;#34;font-family: dejavusans&amp;#34;&amp;lt;/code&amp;gt; or&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;style=&amp;#34;font-family: unifont&amp;#34;&amp;lt;/code&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The name must match the lowercase font identifier known to tc-lib-pdf-font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h2 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Core Type-1 Fonts (Latin)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Helvetica — The quick brown fox jumps over the lazy dog.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: times; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span style=&amp;#34;font-family: times;&amp;#34;&amp;gt;Times — The quick brown fox jumps over the lazy dog.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: courier; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span style=&amp;#34;font-family: courier;&amp;#34;&amp;gt;Courier — The quick brown fox jumps over the lazy dog.&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$overviewHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 2 – DejaVu Sans: Latin + Greek + Cyrillic |======================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fDejavu&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$dejavuHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: dejavusans;&amp;#34;&amp;gt;DejaVu Sans — Extended Coverage&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; DejaVu Sans covers Latin, Greek, Cyrillic, Armenian, Georgian, Hebrew,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Arabic (basic), and many more. Use it when helvetica glyphs are missing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: dejavusans;&amp;#34;&amp;gt;Latin Extended&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Héllo Wörld — café, naïve, résumé, Ångström, façade, Ñoño.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: dejavusans;&amp;#34;&amp;gt;Greek (Ελληνικά)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Ξεσκεπάζω την ψυχοφθόρα βδελυγμία.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: dejavusans;&amp;#34;&amp;gt;Cyrillic (Русский)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Съешь же ещё этих мягких французских булок, да выпей чаю.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: dejavusans;&amp;#34;&amp;gt;IPA Phonetics&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /ˌɪntəˈnæʃənl/ · /fəˈnɛtɪk/ · /ˈælfəbɪt/&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusans; font-size: 9pt; color: #555555;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Subset tip: dejavusans is ~750 KB uncompressed. With &amp;lt;code&amp;gt;$subsetfont = true&amp;lt;/code&amp;gt; and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; only the glyphs used in this page, the embedded subset would be much smaller.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; For documents mixing many scripts across many pages, subset embedding is recommended.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dejavuHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 3 – Unifont: Full BMP |==========================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fUnifont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$unifontHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: unifont; font-size: 11pt; font-weight: normal;&amp;#34;&amp;gt;Unifont — Full Unicode BMP Coverage&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Unifont offers very broad Unicode Plane 0 (BMP) coverage.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Use it as a last-resort fallback for scripts not covered by DejaVu.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Production PDFs should always use &amp;lt;code&amp;gt;$subsetfont = true&amp;lt;/code&amp;gt; with Unifont.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: unifont; font-size: 11pt; font-weight: normal;&amp;#34;&amp;gt;Arabic (العربية) — RTL&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt; text-align: right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; صِف خَلقَ خَودِكِ كَمِثلِ الشَّمسِ إِذ بَزَغَت&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: unifont; font-size: 11pt; font-weight: normal;&amp;#34;&amp;gt;Hebrew (עברית) — RTL&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt; text-align: right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; דג סקרן שט בים מאוכזב ולפתע מצא חברה&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: unifont; font-size: 11pt; font-weight: normal;&amp;#34;&amp;gt;Devanagari (हिन्दी)&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ऋषि सुयश ने प्रख्यात ग्रंथ की रचना करके हमें ज्ञान दिया।&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt; color: #555555;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Fallback strategy: attempt to render with the most specific font first.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Only escalate to Unifont for code points absent from narrower families.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This minimises file size while ensuring every glyph is available.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$unifontHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 4 – Synthetic bold and italic |==================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A family ships one definition file per style variation, named after the font key:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// unifont.json, unifontb.json, unifonti.json, unifontbi.json. GNU Unifont and DejaVu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Sans ExtraLight ship only the regular one, so the other three styles resolve to it&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// and the requested style is painted by the text operators: bold strokes the glyphs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// with a width of a thirtieth of the font size, italic shears the text matrix.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Nothing has to be enabled: &amp;lt;b&amp;gt;, &amp;lt;i&amp;gt; and the CSS font-weight and font-style&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// properties work the same whether the variation exists or not.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The four styles are one font: the glyph program is the same, so it is held once and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// embedded once no matter how many styles the document uses.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fUnifont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$syntheticHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Synthetic Bold &amp;amp;amp; Italic&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Helvetica ships all four style variations, so each one below is a distinct font program:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 13pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Regular · &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt; · &amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt; · &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Bold Italic&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Unifont ships only the regular one, so the other three are painted from it:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: unifont; font-size: 11pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Regular · &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt; · &amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt; · &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Bold Italic&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The same applies to an outline font such as DejaVu Sans ExtraLight:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusansextralight; font-size: 13pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Regular · &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt; · &amp;lt;i&amp;gt;Italic&amp;lt;/i&amp;gt; · &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Bold Italic&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: dejavusansextralight; font-size: 13pt; color: #cc0000;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; A coloured &amp;lt;b&amp;gt;synthetic bold&amp;lt;/b&amp;gt; is outlined in its own colour.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;hr/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;h3 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;What to expect&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;ul style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The advance widths never change, so a synthetic style wraps and justifies exactly&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; like the regular one and the document does not reflow.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The painted glyphs are wider than the advance they were measured with: a stroked&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; stem spills half the stroke width past each edge, and a sheared ascender leans&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; past the end of the run by the slant times the ascent. A synthetic italic run can&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; touch the run that follows it.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Only the drawing operators change, so text extraction, search and tagging are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; unaffected.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;A real bold or italic font is always better. The synthesis is a fallback, not a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; substitute for a designed variation.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Low-level callers of getTextCell() and getTextLine() set the fill colour themselves,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; and must set the stroke colour alongside it for a synthetic bold in a colour other&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; than black. The HTML renderer does it automatically.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$syntheticHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E053 : spot overprint proof</title><link>https://tcpdf.org/examples/E053_spot_overprint_proof/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E053_spot_overprint_proof/</guid><description>&lt;p&gt;Spot colours with tint ramps, overprint, and a proofing workflow for press output.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E053_spot_overprint_proof.pdf"&gt;E053_spot_overprint_proof.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E053_spot_overprint_proof.phps"&gt;E053_spot_overprint_proof.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#colour"&gt;Colour&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E053_spot_overprint_proof.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E053_spot_overprint_proof.webp" alt="Page 1 of E053_spot_overprint_proof.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E053_spot_overprint_proof.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates spot color registration, tint ramp generation, and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * overprint simulation using tc-lib-color and tc-lib-pdf-graph.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * What this demonstrates:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - color-&amp;gt;addSpotColor(): register named spot colors with CMYK equivalents.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - color-&amp;gt;getPdfColor($name, $stroke, $tint): apply spot ink at any tint level.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Tint ramps: a sequence of filled rectangles stepping from 0% to 100% tint.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Layered spot rectangles: simulate overprint by stacking semi-transparent shapes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Companion lib: tc-lib-color (spot/Lab color model), tc-lib-pdf-graph (rects).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Note: tc-lib-pdf does not expose a native /OP (overprint) ExtGState toggle.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Overprint simulation here uses stacked shapes with varying tints to give a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * visual impression of ink mixing, which is representative for screen proofing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 053&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Spot Color &amp;amp; Overprint Proof&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf spot color CMYK tint ramp overprint proof&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;053_spot_overprint_proof.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register spot colors with CMYK fallback values.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// These simulate industry-standard spot-like named inks. In a real press&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// workflow the names would match the RIP spot-color library exactly.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Cyan&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Magenta&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Warm Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.02&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSpotColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Reflex Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Color\Model\Cmyk([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.93&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.75&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.02&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$noteFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 1 – Tint Ramps |=================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$introHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Spot Color Proof — Tint Ramps&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 9pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each row shows a named spot color at tints from 10% to 100%.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Spot colors are registered via &amp;lt;code&amp;gt;color-&amp;amp;gt;addSpotColor()&amp;lt;/code&amp;gt; with a CMYK equivalent&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; and applied using &amp;lt;code&amp;gt;color-&amp;amp;gt;getPdfColor($name, $stroke, $tint)&amp;lt;/code&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The label column shows the spot name as it would appear in a PDF color dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$introHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// List of spots to render and their display label color&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/** @var array&amp;lt;int, array{name: string, label: string}&amp;gt; $spotRows */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spotRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Cyan&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#007799&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Magenta&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#990077&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#887700&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Black&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#222222&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Warm Red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#993300&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Reflex Blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#001177&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tintSteps&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$swatchW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$swatchH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;42.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowGap&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw tint scale header&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$noteFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tintSteps&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$swatchW&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (string) (&lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$swatchW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startY&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$spotRows&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelColor&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Spot name label&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$labelColor&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$labelColor&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Draw tint swatches 10%–100%&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tintSteps&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tintSteps&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$t&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$swatchW&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Set fill and stroke to spot color at this tint level&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#79c0ff"&gt;$spotName&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$sx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$swatchW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$swatchH&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$swatchH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowGap&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reset to black for subsequent text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$noteFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$footNote&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 8pt; color: #555555; margin-top: 4mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Spot colors use the PDF &amp;lt;em&amp;gt;Separation&amp;lt;/em&amp;gt; color space with a CMYK alternate.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Screen rendering uses the CMYK alternate; print output uses the named ink.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$footNote&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| Page 2 – Stacked Spot Layers (Overprint Simulation) |=================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$overHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Overprint Simulation — Stacked Spot Layers&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 9pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Two spot inks are drawn in overlapping rectangles at varying tints to simulate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the visual effect of overprinting. In a real press workflow the RIP controls overprint&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; behaviour via the &amp;lt;em&amp;gt;/OP&amp;lt;/em&amp;gt; and &amp;lt;em&amp;gt;/op&amp;lt;/em&amp;gt; ExtGState flags.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This page shows the CMYK-alternate screen rendering of the overlap.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$overHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Overprint grid: every combination of Cyan × Magenta at 25/50/75/100% tints&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$oy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.75&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelNames&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;25%&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;50%&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;75%&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;100%&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Column headers (Cyan tint)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$labelNames&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ci&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$clab&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$clab&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$ci&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$oy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$tints&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mi&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mTint&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Row header (Magenta tint)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;M &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelNames&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$mi&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ox&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$oy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mi&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$tints&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ci&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cTint&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$ci&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$oy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mi&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Draw Cyan layer first, then Magenta layer on top&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Cyan&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cTint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$cx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PROOF Magenta&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$mTint&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;0.6&lt;/span&gt;)); &lt;span style="color:#8b949e;font-style:italic"&gt;// partial alpha to show both layers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$cx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellSize&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getAlpha(&lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;)); &lt;span style="color:#8b949e;font-style:italic"&gt;// restore&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reset colors&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$overNote&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 8pt; color: #555555; margin-top: 4mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each cell renders Cyan at the column tint, then Magenta at the row tint with 60% opacity —&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; approximating a soft-proof of two overprinted inks on a white substrate.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$overNote&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;165&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E054 : page groups numbering</title><link>https://tcpdf.org/examples/E054_page_groups_numbering/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E054_page_groups_numbering/</guid><description>&lt;p&gt;Page groups with independent numbering, mixing Roman front matter with Arabic body pages.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E054_page_groups_numbering.pdf"&gt;E054_page_groups_numbering.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E054_page_groups_numbering.phps"&gt;E054_page_groups_numbering.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E054_page_groups_numbering.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E054_page_groups_numbering.webp" alt="Page 1 of E054_page_groups_numbering.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E054_page_groups_numbering.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates publishing-style mixed page numbering: Roman-numeral front matter&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * followed by Arabic body pages, with a generated table of contents and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * multi-level bookmarks as cross-reference anchors.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * What this demonstrates:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setBookmark(): hierarchical outline entries with styles and colors.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setNamedDestination(): stable jump targets independent of page order.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - addTOC(): auto-generated TOC page linked back to bookmarked sections.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setDisplayMode(): open with outlines panel showing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Logical vs physical page numbering: inject visible Roman/Arabic labels&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * via page header content while the PDF page object index remains 0-based.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 054&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Groups &amp;amp; Mixed Numbering&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf page groups numbering roman arabic TOC bookmarks&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;054_page_groups_numbering.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Open with the outline panel visible and full-width zoom.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDisplayMode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; zoom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\DisplayZoom&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;FullWidth,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; layout&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\PageLayout&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;SinglePage,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\PageDisplayMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;UseOutlines,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Helpers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/** Convert an integer 1–3999 to an uppercase Roman numeral. */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$toRoman&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$n&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$map&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1000&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;M&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;900&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CM&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;500&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;400&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CD&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XL&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;X&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IX&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;V&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IV&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$result&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$map&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sym&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;while&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$n&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$result&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sym&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$n&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$val&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$result&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Render a page number footer for the current page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param \Com\Tecnick\Pdf\Tcpdf $pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param int $pid Page PID&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param string $label Visible page number string (e.g. &amp;#34;I&amp;#34;, &amp;#34;1&amp;#34;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param array{out: string} $font Font descriptor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addPageFooter&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;— &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; —&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;282&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;210&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| FRONT MATTER |========================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Pages i, ii (TOC placeholder + Preface)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// These pages use Roman numerals in the footer.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----- Page i: TOC placeholder -----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table of Contents&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addPageFooter&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$toRoman&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reserve header text for this page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TABLE OF CONTENTS&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The actual TOC content is injected by addTOC() at the end of the script.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----- Page ii: Preface -----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$prefacePage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Preface&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prefacePage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addPageFooter&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$prefacePage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$toRoman&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$prefaceHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica; text-align: center;&amp;#34;&amp;gt;Preface&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This document demonstrates mixed page numbering conventions used in publishing workflows.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Front matter (title, preface, table of contents) carries Roman numerals (i, ii, iii …),&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; while the body text uses Arabic numerals (1, 2, 3 …).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; In tc-lib-pdf, both logical page numbers displayed in footers and structural bookmarks are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; controlled independently. The PDF page object index is always zero-based; the visible label&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; is rendered as regular text content. Named destinations remain stable regardless of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; visible numbering scheme.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prefaceHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prefacePage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| BODY |================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Chapters 1–3, Arabic page numbers 1–3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/** @var array&amp;lt;int, array{title: string, sub: list&amp;lt;string&amp;gt;, color: string, bodyText: string}&amp;gt; $chapters */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chapters&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 1 — Foundations&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sub&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;1.1 History&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;1.2 Key Concepts&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#1a3c6e&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bodyText&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This chapter introduces the foundational ideas. Page number 1 (Arabic) appears in the footer. The bookmark entry for this chapter points to this page via a named destination.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 2 — Methods&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sub&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;2.1 Approach A&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;2.2 Approach B&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#1a6e3c&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bodyText&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This chapter details the methodology. Page number 2 (Arabic) appears below. Bookmark level-1 entries for subsections use the same page pid with a vertical offset.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 3 — Results&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sub&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;3.1 Findings&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;3.2 Conclusions&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#6e1a1a&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bodyText&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Final chapter with results and conclusions. Page number 3 (Arabic). The TOC on page i links back to all three chapter bookmarks.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$chapters&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$arabicNum&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Register named destination so TOC links are stable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$destName&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNamedDestination(name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;chapter-&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$arabicNum&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Top-level bookmark (bold, chapter color)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$destName&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Sub-section bookmarks (indented, normal weight)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;sub&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$si&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subTitle&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$subY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$si&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setBookmark(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subTitle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; link&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; level&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Page footer with Arabic numeral&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$addPageFooter&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], (string) &lt;span style="color:#79c0ff"&gt;$arabicNum&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$smallFont&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Chapter content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2 style=&amp;#34;font-family: helvetica; color: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;bodyText&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;sub&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subTitle&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h3 style=&amp;#34;font-family: helvetica; color: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ch&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$subTitle&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;p style=&amp;#34;font-family: helvetica; font-size: 10pt;&amp;#34;&amp;gt;Section content would go here.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===| GENERATE TOC |========================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// addTOC() injects the outline entries onto the reserved TOC page (page i),&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// starting at y=35 (below the &amp;#34;TABLE OF CONTENTS&amp;#34; heading).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// It uses the current font for rendering - activate bodyFont first.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTOC(page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tocPage&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E055 : page reorder booklet</title><link>https://tcpdf.org/examples/E055_page_reorder_booklet/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E055_page_reorder_booklet/</guid><description>&lt;p&gt;Reordering the page stack and imposing the result as a booklet with mirrored gutters.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E055_page_reorder_booklet.pdf"&gt;E055_page_reorder_booklet.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E055_page_reorder_booklet.phps"&gt;E055_page_reorder_booklet.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E055_page_reorder_booklet.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E055_page_reorder_booklet.webp" alt="Page 1 of E055_page_reorder_booklet.pdf" width="800" height="1136" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E055_page_reorder_booklet.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate page reordering using tc-lib-pdf-page&amp;#39;s Page::move() method.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Scenario:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Add pages in &amp;#34;draft&amp;#34; logical order: Introduction, Appendix, Chapter 1, Chapter 2.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - After authoring, reorder so the final reading order is:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 1. Introduction, 2. Chapter 1, 3. Chapter 2, 4. Appendix&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - Each page shows its original draft index vs. its final booklet position.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - A booklet-spread grid is drawn on a landscape summary page to show how pages&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pair up for saddle-stitch imposition (spread 1: pages 4 &amp;amp; 1; spread 2: pages 2 &amp;amp; 3).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 055&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Page Reorder and Booklet Imposition&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example page reorder booklet imposition spread&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E055_page_reorder_booklet.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert default font before first page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 1 – Author pages in draft order (Introduction, Appendix, Ch1, Ch2)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page index 0 – Introduction&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A5&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Introduction&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(Draft index 0)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Welcome to the tc-lib-pdf page-reorder demo. This page was authored first&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; and will remain in position 0 after reordering.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;46&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page index 1 – Appendix (will be moved to the end later)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A5&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Appendix&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(Draft index 1 – will move to index 3)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This Appendix page was authored second but belongs at the end.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Page::move() will relocate it after Chapter 2.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;46&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page index 2 – Chapter 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A5&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 1&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(Draft index 2 – will move to index 1)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 1 content. After reordering this becomes the second page (index 1),&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; immediately after the Introduction.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;46&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page index 3 – Chapter 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A5&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 2&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(Draft index 3 – will move to index 2)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Chapter 2 content. After reordering this becomes the third page (index 2),&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; between Chapter 1 and the Appendix.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;46&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 2 – Reorder using Page::move()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Current order: [0:Intro] [1:Appendix] [2:Ch1] [3:Ch2]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Target order: [0:Intro] [1:Ch1] [2:Ch2] [3:Appendix]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Step A: move Ch1 (index 2) to index 1 → [Intro, Ch1, Appendix, Ch2]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Step B: move Ch2 (now index 3) to index 2 → [Intro, Ch1, Ch2, Appendix]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Note: Page::move() only moves a page to a LOWER (earlier) index.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;move(&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Order is now: [0:Intro] [1:Ch1] [2:Appendix] [3:Ch2]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;move(&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Order is now: [0:Intro] [1:Ch1] [2:Ch2] [3:Appendix]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 3 – Booklet imposition summary page (A4 landscape)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// For a 4-page saddle-stitch booklet the imposition pairs are:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Physical sheet front: page 4 (right) | page 1 (left) → spread 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Physical sheet back: page 2 (left) | page 3 (right) → spread 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$summaryPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Booklet Imposition Summary (saddle-stitch, 4 pages)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;260&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw spread grid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$graph&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Spread 1 – outer sheet (pages 4 &amp;amp; 1)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;118.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spreadH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;75.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// outer spread box&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$graph&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spreadH&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [], []));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// centre fold line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$graph&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadH&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// labels&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Spread 1 – Outer sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 4 (Appendix)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Right side of sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 1 (Introduction)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Left side of sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Spread 2 – inner sheet (pages 2 &amp;amp; 3)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$graph&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spreadH&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [], []));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$graph&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadH&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Spread 2 – Inner sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spreadW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 2 (Chapter 1)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Left side of sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 3 (Chapter 2)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Right side of sheet&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread2X&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spread1Y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halfW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Fold / cut annotation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fold along centre fold lines, then saddle-stitch through the fold.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; The final reading order after binding: Introduction → Chapter 1 → Chapter 2 → Appendix.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;260&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E056 : encryption cert recipients</title><link>https://tcpdf.org/examples/E056_encryption_cert_recipients/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E056_encryption_cert_recipients/</guid><description>&lt;p&gt;Public-key encryption for several certificate recipients, each with its own signed permissions.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E056_encryption_cert_recipients.pdf"&gt;E056_encryption_cert_recipients.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E056_encryption_cert_recipients.phps"&gt;E056_encryption_cert_recipients.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#encryption-and-permissions"&gt;Encryption and Permissions&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E056_encryption_cert_recipients.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E056_encryption_cert_recipients.webp" alt="Page 1 of E056_encryption_cert_recipients.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E056_encryption_cert_recipients.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate certificate-based (public-key) PDF encryption with a permission matrix.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Certificate-based encryption lets you define a list of recipients; each recipient&amp;#39;s&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * public-key certificate is used to wrap the document key. Only holders of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * corresponding private key can decrypt the document. No shared password is required.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The example creates two logical recipients from the same demo certificate to show&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * how different permission sets can be defined per-recipient:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Recipient A – read-only (print only)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Recipient B – reviewer (print + annotate)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The demo certificate shipped with the examples is a self-signed X.509 cert.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * To create your own certificate:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * openssl req -x509 -nodes -days 365000 -newkey rsa:2048 \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * -keyout cert.pem -out cert.pem&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing demo certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certUri&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;preview&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) (&lt;span style="color:#79c0ff"&gt;$argv&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;elseif&lt;/span&gt; (isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \is_string(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \strtolower(\trim(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\in_array(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;preview&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;preview&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$useEncryption&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Build recipient list:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Each entry has &amp;#39;c&amp;#39; (certificate path/URI) and &amp;#39;p&amp;#39; (allowed permissions array).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pubkeys&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certUri&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;p&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;print&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// Recipient A: print-only&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certUri&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;p&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;print&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;annot-forms&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// Recipient B: print + annotate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fileId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \md5(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E056_encryption_cert_recipients&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$encrypt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$useEncryption&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// AES-128 (mode 2) with certificate recipients – no shared password needed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$encrypt&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Encrypt\Encrypt(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// enabled&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fileId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// mode: AES-128&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [], &lt;span style="color:#8b949e;font-style:italic"&gt;// global permissions (empty – controlled per-recipient)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// no user password&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// no owner password&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pubkeys&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// certificate recipients&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// encryptMetadata&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// encryptEmbeddedFiles&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$encrypt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 056&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Certificate-Based Recipient Encryption&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example encryption certificate recipients public-key&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E056_encryption_cert_recipients.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 – Overview&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Certificate-Based Recipient Encryption&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;How it works&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Certificate-based encryption (also called &amp;lt;em&amp;gt;public-key encryption&amp;lt;/em&amp;gt;) wraps the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; document encryption key using each recipient&amp;#39;s X.509 public-key certificate.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; No shared password is distributed; only the holder of the matching private key can&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; open the document.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Recipient permission matrix&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Recipient&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Certificate&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;th&amp;gt;Allowed permissions&amp;lt;/th&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Recipient A (read-only)&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;tcpdf.crt (demo)&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;print&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;Recipient B (reviewer)&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;tcpdf.crt (demo)&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td&amp;gt;print, annot-forms&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Encryption parameters&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Output mode: MODE_PLACEHOLDER&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Algorithm: AES-128 (mode 2) when mode is &amp;lt;em&amp;gt;encrypted&amp;lt;/em&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Metadata encrypted: yes (encrypted mode)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Embedded files encrypted: yes (encrypted mode)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;User/owner password: none (certificate recipients only, encrypted mode)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Creating your own certificate&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Use the following OpenSSL command to generate a self-signed certificate suitable for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; recipient encryption:&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;em&amp;gt;openssl req -x509 -nodes -days 365000 -newkey rsa:2048 -keyout cert.pem -out cert.pem&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modeLabel&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$useEncryption&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted (certificate recipients)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;preview (unencrypted for browser compatibility)&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_replace(&lt;span style="color:#a5d6ff"&gt;&amp;#39;MODE_PLACEHOLDER&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$modeLabel&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 – Permissions reference&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF Permission Flags Reference&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Available permission identifiers&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Identifier&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;print&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Print the document (low-quality).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;modify&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Modify document content (not covered by more specific flags).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;copy&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Copy or extract text and graphics.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;annot-forms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Add/modify annotations and fill interactive forms.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fill-forms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Fill in existing interactive form fields.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;extract&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Extract content for accessibility.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;assemble&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Insert/rotate/delete pages, create bookmarks and thumbnails.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;print-high&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Print at high quality (faithful digital reproduction).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Notes&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;With certificate recipients, permission flags are embedded inside the CMS enveloped-data&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; structure for each recipient separately.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Viewer enforcement of permissions depends on the PDF reader implementation.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Combining certificate encryption with a digital signature (E057) provides both&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; access control and document integrity assurance.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$useEncryption&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Most browser-native PDF viewers do not support certificate-based decryption.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Force a download so the file can be opened with a compatible PDF reader.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;downloadPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E057 : multisignature incremental</title><link>https://tcpdf.org/examples/E057_multisignature_incremental/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E057_multisignature_incremental/</guid><description>&lt;p&gt;An approval flow with several signatures, each added in its own incremental revision.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E057_multisignature_incremental.pdf"&gt;E057_multisignature_incremental.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E057_multisignature_incremental.phps"&gt;E057_multisignature_incremental.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E057_multisignature_incremental.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E057_multisignature_incremental.webp" alt="Page 1 of E057_multisignature_incremental.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E057_multisignature_incremental.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate a multi-signature approval flow.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * In a real approval workflow a document typically accumulates one signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * per approver in sequence (incremental signatures). tc-lib-pdf supports this&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pattern by:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 1. setSignature() – primary signing certificate (author / certifier)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 2. setSignatureAppearance() – visible widget for the primary signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 3. addEmptySignatureAppearance() – empty widget placeholders for each subsequent approver&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The primary signature field (cert_type 2 = MDP/Author) locks the document&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * against further modifications while still permitting subsequent approvals to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * fill in the reserved empty fields.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example creates a 3-page document:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 1 – contract / document body&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 2 – approval form with 3 signature fields:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * · Author (primary – pre-signed by the library)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * · Reviewer (empty approval field)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * · Manager (empty approval field)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 3 – signing guide / workflow description&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 057&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Multi-Signature Approval Flow&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature approval multi-signature incremental&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E057_multisignature_incremental.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 – Document body (contract)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SERVICE AGREEMENT EXAMPLE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This Service Agreement (&amp;#34;Agreement&amp;#34;) is entered into as of the date of the last signature below&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; between &amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; and &amp;lt;strong&amp;gt;Service Provider&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;1. Services.&amp;lt;/b&amp;gt; Service Provider agrees to deliver software development services as described&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; in Schedule A attached hereto.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;2. Payment.&amp;lt;/b&amp;gt; Client agrees to pay the fees set forth in Schedule B within 30 days of invoice.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;3. Term.&amp;lt;/b&amp;gt; This Agreement commences on the Effective Date and continues for 12 months unless&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; earlier terminated by either party upon 30 days written notice.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;4. Confidentiality.&amp;lt;/b&amp;gt; Each party agrees to keep the other party&amp;#39;s confidential information&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; strictly confidential and not to disclose it to any third party without prior written consent.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;5. Governing Law.&amp;lt;/b&amp;gt; This Agreement shall be governed by the laws of the applicable jurisdiction.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The parties have executed this Agreement as of the dates indicated in the signature fields on&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the following page.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 – Approval / signature form&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SIGNATURE PAGE EXAMPLE&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The following parties have reviewed and approved this Agreement:&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Signature box helper labels (rendered as PDF text cells)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labels&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;role&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Author / Certifier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;John Doe&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;role&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reviewer&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(awaiting sig.)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;role&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Manager&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(awaiting sig.)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$labels&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;role&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Date: ___________________&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) (&lt;span style="color:#79c0ff"&gt;$lbl&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register the primary (author/certifier) digital signature.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// cert_type = 2 → MDP / author signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignature([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo Office&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;John Doe&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Author / certifier signature – approval workflow example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Primary signature appearance – placed on page 2 at the first slot.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignatureAppearance(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Author&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Empty approval fields for the remaining approvers.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addEmptySignatureAppearance(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reviewer&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addEmptySignatureAppearance(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;135&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;], name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Manager&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 3 – Workflow guide&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Multi-Signature Workflow Guide&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;How incremental multi-signature works in tc-lib-pdf&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;A PDF approval workflow typically progresses through these steps:&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Author creates and certifies the document.&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The primary signature (Author field) is applied by &amp;lt;code&amp;gt;setSignature()&amp;lt;/code&amp;gt; with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;cert_type 2&amp;lt;/em&amp;gt; (MDP). This locks the document against structural changes&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; while reserving the empty approval fields for subsequent signers.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Reviewer opens the document, validates the Author signature, and applies their&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; signature to the Reviewer field.&amp;lt;/b&amp;gt; In a PDF viewer (e.g. Acrobat) the reviewer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; uses the reserved empty widget. Each subsequent signature is appended to the file&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; as an incremental update, preserving all prior signature data.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Manager repeats the same process for the Manager field.&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;tc-lib-pdf API summary&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Purpose&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;setSignature()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Register the primary signing certificate and options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;setSignatureAppearance()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Visible widget for the primary signature.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;addEmptySignatureAppearance()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Reserve an empty widget for a future approver.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;setSignTimeStamp()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Optionally attach an RFC 3161 TSA timestamp (see E008).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Certification levels (cert_type)&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;cert_type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Meaning&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No changes permitted after signing.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Form fills and approval signatures permitted (MDP).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Annotations and form fills permitted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E058 : embedded files portfolio</title><link>https://tcpdf.org/examples/E058_embedded_files_portfolio/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E058_embedded_files_portfolio/</guid><description>&lt;p&gt;File attachments with a typed /AFRelationship, and a portfolio document that presents them.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E058_embedded_files_portfolio.pdf"&gt;E058_embedded_files_portfolio.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E058_embedded_files_portfolio.phps"&gt;E058_embedded_files_portfolio.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E058_embedded_files_portfolio.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E058_embedded_files_portfolio.webp" alt="Page 1 of E058_embedded_files_portfolio.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E058_embedded_files_portfolio.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate PDF as a document container (portfolio / package).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Multiple file types are embedded inside the PDF using:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addEmbeddedFile() – embed a file from disk&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addContentAsEmbeddedFile() – embed content generated in-memory (CSV, XML, JSON)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Each embedded file is then linked to an annotation on the document page so&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * that clicking the annotation in a viewer opens or exports the attachment.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Embedded files:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * invoice.csv – tabular invoice data&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * report.xml – XML report&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * config.json – JSON configuration&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 058&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Embedded Files Portfolio&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example embedded files portfolio attachment csv xml json&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E058_embedded_files_portfolio.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Build the in-memory attachment content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$csvContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;CSV&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; item_no,description,qty,unit_price,total&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 1,&amp;#34;Widget A&amp;#34;,10,9.99,99.90&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 2,&amp;#34;Widget B&amp;#34;,5,24.50,122.50&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 3,&amp;#34;Service Fee&amp;#34;,1,150.00,150.00&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ,,,,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ,,&amp;#34;Subtotal&amp;#34;,,372.40&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ,,&amp;#34;Tax (10%)&amp;#34;,,37.24&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ,,&amp;#34;Total&amp;#34;,,409.64&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;CSV&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xmlContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;report generated=&amp;#34;2026-05-01&amp;#34; version=&amp;#34;1.0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;summary&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;title&amp;gt;Monthly Sales Report&amp;lt;/title&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;period&amp;gt;April 2026&amp;lt;/period&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;currency&amp;gt;USD&amp;lt;/currency&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/summary&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;items&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;item id=&amp;#34;1&amp;#34;&amp;gt;&amp;lt;name&amp;gt;Widget A&amp;lt;/name&amp;gt;&amp;lt;qty&amp;gt;10&amp;lt;/qty&amp;gt;&amp;lt;revenue&amp;gt;99.90&amp;lt;/revenue&amp;gt;&amp;lt;/item&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;item id=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;name&amp;gt;Widget B&amp;lt;/name&amp;gt;&amp;lt;qty&amp;gt;5&amp;lt;/qty&amp;gt;&amp;lt;revenue&amp;gt;122.50&amp;lt;/revenue&amp;gt;&amp;lt;/item&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;item id=&amp;#34;3&amp;#34;&amp;gt;&amp;lt;name&amp;gt;Service Fee&amp;lt;/name&amp;gt;&amp;lt;qty&amp;gt;1&amp;lt;/qty&amp;gt;&amp;lt;revenue&amp;gt;150.00&amp;lt;/revenue&amp;gt;&amp;lt;/item&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/items&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;totals&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;subtotal&amp;gt;372.40&amp;lt;/subtotal&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tax&amp;gt;37.24&amp;lt;/tax&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;total&amp;gt;409.64&amp;lt;/total&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/totals&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/report&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$jsonContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \json_encode(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;application&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf demo&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;version&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1.0&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;settings&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;compress&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unicode&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subset_fonts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdf_version&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1.7&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;output&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;E058_embedded_files_portfolio.pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \JSON_PRETTY_PRINT &lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt; \JSON_UNESCAPED_SLASHES,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$jsonContent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Failed to encode JSON content&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Embed content generated in-memory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContentAsEmbeddedFile(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;invoice.csv&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; content&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$csvContent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mime&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text/csv&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; afrel&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\AFRelationship&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Data,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; desc&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Invoice line items&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContentAsEmbeddedFile(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;report.xml&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; content&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$xmlContent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mime&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;application/xml&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; afrel&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\AFRelationship&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Data,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; desc&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Monthly sales report&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContentAsEmbeddedFile(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;config.json&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; content&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$jsonContent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mime&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;application/json&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; afrel&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\AFRelationship&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Source,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; desc&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Library configuration&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 – Portfolio overview&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Embedded Files Portfolio&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This PDF acts as a self-contained package by embedding three data files in different formats.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Click the annotation icons on this page (or use your PDF viewer&amp;#39;s attachment panel) to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; access the files.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Embedded attachments&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Filename&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MIME type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;AFRelationship&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;invoice.csv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;text/csv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Data&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invoice line items&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;report.xml&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;application/xml&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Data&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Monthly sales report&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;config.json&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;application/json&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Source&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Library configuration&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;API used&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;4&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Use case&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;addEmbeddedFile()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Embed a file read from disk.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;addContentAsEmbeddedFile()&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Embed content generated in memory.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;setAnnotation() with Fileattachment subtype&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Visible annotation linking to an embedded file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The &amp;lt;em&amp;gt;AFRelationship&amp;lt;/em&amp;gt; value categorises each attachment for PDF processors:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Source&amp;lt;/em&amp;gt; = the source that produced this PDF; &amp;lt;em&amp;gt;Data&amp;lt;/em&amp;gt; = data associated with the PDF.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Attachment annotations – link visible icons to each embedded file&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Annotation type &amp;#39;FileAttachment&amp;#39;, opt &amp;#39;fs&amp;#39; = file key, &amp;#39;name&amp;#39; = icon name&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$annotations&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;invoice.csv&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;invoice.csv&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;report.xml&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;report.xml&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;config.json&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;config.json&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;105&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;175&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$annotations&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ann&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$annotId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAnnotation(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$ann&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$ann&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (string) &lt;span style="color:#79c0ff"&gt;$ann&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;label&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; opt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FileAttachment&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fs&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ann&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PushPin&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$annotId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 – Content preview&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Attachment Content Preview&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$previewHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;invoice.csv (first few lines)&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;pre&amp;gt;item_no,description,qty,unit_price,total&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 1,&amp;#34;Widget A&amp;#34;,10,9.99,99.90&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 2,&amp;#34;Widget B&amp;#34;,5,24.50,122.50&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; 3,&amp;#34;Service Fee&amp;#34;,1,150.00,150.00&amp;lt;/pre&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;report.xml (excerpt)&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;pre&amp;gt;&amp;amp;lt;report generated=&amp;#34;2026-05-01&amp;#34; version=&amp;#34;1.0&amp;#34;&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;summary&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Monthly Sales Report&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/summary&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;totals&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;subtotal&amp;amp;gt;372.40&amp;amp;lt;/subtotal&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;total&amp;amp;gt;409.64&amp;amp;lt;/total&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;/totals&amp;amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;amp;lt;/report&amp;amp;gt;&amp;lt;/pre&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;config.json (excerpt)&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;pre&amp;gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#34;application&amp;#34;: &amp;#34;tc-lib-pdf demo&amp;#34;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#34;version&amp;#34;: &amp;#34;1.0&amp;#34;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#34;settings&amp;#34;: {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#34;compress&amp;#34;: true,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;#34;unicode&amp;#34;: true&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&amp;lt;/pre&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$previewHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E059 : document javascript</title><link>https://tcpdf.org/examples/E059_document_javascript/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E059_document_javascript/</guid><description>&lt;p&gt;Document-level JavaScript actions bound to the open, close, print, and save events.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E059_document_javascript.pdf"&gt;E059_document_javascript.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E059_document_javascript.phps"&gt;E059_document_javascript.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E059_document_javascript.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E059_document_javascript.webp" alt="Page 1 of E059_document_javascript.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E059_document_javascript.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate document-level JavaScript actions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example covers three distinct attachment mechanisms:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * appendRawJavaScript()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Appends raw JS to the single global script string. The global script&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * runs as a document-open action (equivalent to \WillSave / open trigger&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * in Acrobat JS terms). Useful for lightweight one-shot initialization&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * that must not duplicate logic across multiple calls.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addRawJavaScriptObj($script, onload: true)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Creates a separate JS object that is executed when the document is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * opened (document-level open action). Suitable for modular scripts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * that need to be kept independent of the global string.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addRawJavaScriptObj($script, onload: false)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Creates a JS object that is embedded but NOT wired as an open action.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * It can be referenced by annotation actions or triggered programmatically&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * by other scripts (e.g. via a named action or a button field).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * NOTE: JavaScript is silently suppressed in PDF/A, PDF/X, and PDF/UA modes&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * because those standards forbid embedded scripts. This example therefore&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * uses plain (unconstrained) PDF output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * NOTE: Script execution requires a PDF reader with Acrobat JavaScript support&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (e.g. Adobe Acrobat / Adobe Reader). Many open-source readers do not run JS.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object - plain mode (no PDF/A, PDF/X, PDF/UA constraint)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 059&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Document-Level JavaScript Actions&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example javascript document open close print save trigger&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E059_document_javascript.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 1. appendRawJavaScript - global JS string (document-open trigger)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The JS string is accumulated and emitted as a single named JS object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// (&amp;#34;EmbeddedJS&amp;#34;). It fires when the document is opened.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appendRawJavaScript(script&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;app.alert(&amp;#34;Document opened via appendRawJavaScript.&amp;#34;, 3);&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Multiple calls are concatenated in order.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appendRawJavaScript(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; script&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;app.addStateChangeHandler(&amp;#34;WillClose&amp;#34;, function() {&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; app.alert(&amp;#34;Document is closing (WillClose handler).&amp;#34;, 3);&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;});&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 2. addRawJavaScriptObj - separate JS object, executed on open&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Returns the PDF object ID so you can cross-reference if needed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$onloadObjId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addRawJavaScriptObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Register a WillPrint event to warn the user before printing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;app.addStateChangeHandler(&amp;#34;WillPrint&amp;#34;, function() {&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; app.alert(&amp;#34;Document will be printed.&amp;#34;, 3);&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;});&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// onload: execute when the document is opened&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 3. addRawJavaScriptObj - separate JS object, NOT an open action&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// This object is embedded in the PDF but is NOT automatically executed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A button field or annotation action can trigger it by name.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$idleObjId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addRawJavaScriptObj(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// A utility helper function that can be called from other scripts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;function showDocInfo() {&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; var msg = &amp;#34;Title: &amp;#34; + this.info.Title + &amp;#34;\\n&amp;#34;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; + &amp;#34;Author: &amp;#34; + this.info.Author;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; app.alert(msg, 3);&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;}&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// onload: false — NOT executed automatically&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 - Explanation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Document-Level JavaScript Actions&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This PDF demonstrates three distinct ways to attach JavaScript to a document&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; using tc-lib-pdf. The scripts are embedded in the PDF structure; a compatible&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; reader with Acrobat JavaScript support is required to execute them.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;1. appendRawJavaScript()&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Appends raw JS to the global script string. The accumulated string fires when&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the document is opened. Two separate calls were made in this example: one to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; show an alert on open, and one to register a &amp;lt;code&amp;gt;WillClose&amp;lt;/code&amp;gt; handler.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;2. addRawJavaScriptObj(\$script, onload: true)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Creates a separate JS object (PDF object ID: &amp;lt;b&amp;gt;{$onloadObjId}&amp;lt;/b&amp;gt;) and wires it as an&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; open action so it executes when the document is opened. In this example the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; script registers a &amp;lt;code&amp;gt;WillPrint&amp;lt;/code&amp;gt; event handler.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;3. addRawJavaScriptObj(\$script, onload: false)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Creates a JS object (PDF object ID: &amp;lt;b&amp;gt;{$idleObjId}&amp;lt;/b&amp;gt;) that is embedded but NOT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; executed automatically. It defines a helper function &amp;lt;code&amp;gt;showDocInfo()&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that other scripts or button-field actions can invoke.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Suppression in conformance modes&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; All three JS APIs silently return without effect when the PDF is created in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; PDF/A, PDF/X, or PDF/UA mode, because those standards forbid embedded scripts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E060 : custom xmp metadata</title><link>https://tcpdf.org/examples/E060_custom_xmp_metadata/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E060_custom_xmp_metadata/</guid><description>&lt;p&gt;Custom &lt;abbr title="Extensible Metadata Platform"&gt;XMP&lt;/abbr&gt; fragments injected at the five insertion points, each checked for well-formedness in the namespace context where it lands.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E060_custom_xmp_metadata.pdf"&gt;E060_custom_xmp_metadata.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E060_custom_xmp_metadata.phps"&gt;E060_custom_xmp_metadata.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E060_custom_xmp_metadata.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E060_custom_xmp_metadata.webp" alt="Page 1 of E060_custom_xmp_metadata.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E060_custom_xmp_metadata.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate custom XMP namespace injection via setCustomXMP().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF files carry an XMP metadata stream alongside the classic Info dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The tc-lib-pdf library always emits standard namespaces (dc:, xmp:, pdf:,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * xmpMM:, pdfaid:, etc.). setCustomXMP() lets you inject arbitrary additional&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * XMP fragments into specific positions within the XMP envelope.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Valid keys and their injection points&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ──────────────────────────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * &amp;#39;x:xmpmeta&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Inserted just before &amp;lt;/x:xmpmeta&amp;gt; - top-level envelope extension.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * &amp;#39;x:xmpmeta.rdf:RDF&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Inserted just before &amp;lt;/rdf:RDF&amp;gt; - adds a new rdf:Description block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * &amp;#39;x:xmpmeta.rdf:RDF.rdf:Description&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Inserted into the main rdf:Description - adds properties to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * existing shared description block (dc, xmp, pdf properties).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * &amp;#39;x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * &amp;#39;x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * PDF/A extension schema declarations (only meaningful in PDF/A mode).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * IMPORTANT: each fragment is checked for well-formedness in the namespace&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * context of its injection point, and a fragment that fails raises an exception.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Only the prefixes declared at that point are in scope: declare any other prefix&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * on the fragment&amp;#39;s own root element, as the blocks below do.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Use cases illustrated here:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 1. IPTC Core rights metadata (photojournalism / stock-photography DAM)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 2. XMP-MM version history (document management / DAM systems)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 3. Custom application metadata (arbitrary key-value pairs for integration)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 4. Producer suffix and trapping status in the Info dictionary and XMP&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 060&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom XMP Metadata Injection&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example xmp metadata iptc dublin core dam archiving&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E060_custom_xmp_metadata.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Identify the producing application after the library attribution, and declare&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the trapping status. Both drive the Info dictionary and the XMP packet.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setProducerSuffix(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf examples 060&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTrapped(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unknown&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 1. IPTC Core rights and creator metadata&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Injected as a new rdf:Description block inside rdf:RDF.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$iptcXmp&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Description rdf:about=&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; xmlns:Iptc4xmpCore=&amp;#34;http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;Iptc4xmpCore:CopyrightNotice&amp;gt;Copyright © 2026 Tecnick.com LTD. All rights reserved.&amp;lt;/Iptc4xmpCore:CopyrightNotice&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;Iptc4xmpCore:CreatorContactInfo&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;Iptc4xmpCore:CiEmailWork&amp;gt;info@tecnick.com&amp;lt;/Iptc4xmpCore:CiEmailWork&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;Iptc4xmpCore:CiUrlWork&amp;gt;https://tecnick.com&amp;lt;/Iptc4xmpCore:CiUrlWork&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/Iptc4xmpCore:CreatorContactInfo&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;Iptc4xmpCore:UsageTerms&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Alt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:li xml:lang=&amp;#34;en&amp;#34;&amp;gt;Permission is granted to reproduce for personal and commercial use,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; citing the source. Modification is not allowed.&amp;lt;/rdf:li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Alt&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/Iptc4xmpCore:UsageTerms&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Key: inject before &amp;lt;/rdf:RDF&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCustomXMP(&lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$iptcXmp&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 2. XMP Media Management - version / revision history&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Also injected as a new rdf:Description block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xmpMmXmp&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Description rdf:about=&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; xmlns:xmpMM=&amp;#34;http://ns.adobe.com/xap/1.0/mm/&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; xmlns:stEvt=&amp;#34;http://ns.adobe.com/xap/1.0/sType/ResourceEvent#&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; xmlns:stRef=&amp;#34;http://ns.adobe.com/xap/1.0/sType/ResourceRef#&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;xmpMM:DocumentID&amp;gt;urn:uuid:tc-lib-pdf-example-060-2026&amp;lt;/xmpMM:DocumentID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;xmpMM:InstanceID&amp;gt;urn:uuid:tc-lib-pdf-example-060-instance-001&amp;lt;/xmpMM:InstanceID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;xmpMM:VersionID&amp;gt;1.0&amp;lt;/xmpMM:VersionID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;xmpMM:History&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Seq&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:li rdf:parseType=&amp;#34;Resource&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;stEvt:action&amp;gt;created&amp;lt;/stEvt:action&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;stEvt:when&amp;gt;2026-05-01T00:00:00+00:00&amp;lt;/stEvt:when&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;stEvt:softwareAgent&amp;gt;tc-lib-pdf&amp;lt;/stEvt:softwareAgent&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Seq&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/xmpMM:History&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;xmpMM:DerivedFrom rdf:parseType=&amp;#34;Resource&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;stRef:documentID&amp;gt;urn:uuid:tc-lib-pdf-example-059-2026&amp;lt;/stRef:documentID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;stRef:versionID&amp;gt;1.0&amp;lt;/stRef:versionID&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/xmpMM:DerivedFrom&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCustomXMP(&lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$xmpMmXmp&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 3. Custom application metadata (key-value pairs for system integration)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Injected as extra properties in the existing shared rdf:Description.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$appXmp&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:exampleId&amp;gt;E060&amp;lt;/tcpdf:exampleId&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:generatedBy&amp;gt;tc-lib-pdf&amp;lt;/tcpdf:generatedBy&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:generationDate&amp;gt;2026-05-01&amp;lt;/tcpdf:generationDate&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Note: this key injects into the existing shared rdf:Description block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The tcpdf: prefix must be declared in the same Description or a parent.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// For self-contained safety we wrap it in its own Description with the ns decl.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$appXmpBlock&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;rdf:Description rdf:about=&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; xmlns:tcpdf=&amp;#34;https://github.com/tecnickcom/tc-lib-pdf/ns/xmp/1.0/&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:exampleId&amp;gt;E060&amp;lt;/tcpdf:exampleId&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:generatedBy&amp;gt;tc-lib-pdf&amp;lt;/tcpdf:generatedBy&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:generationDate&amp;gt;2026-05-01&amp;lt;/tcpdf:generationDate&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tcpdf:featureTag&amp;gt;custom-xmp-metadata&amp;lt;/tcpdf:featureTag&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/rdf:Description&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;XMP&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCustomXMP(&lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$appXmpBlock&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page - explanation and key summary&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Custom XMP Metadata Injection&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This PDF embeds three custom XMP metadata blocks beyond the standard dc:/xmp:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; namespaces that tc-lib-pdf emits automatically. Inspect the XMP stream with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; a PDF inspector or &amp;lt;code&amp;gt;exiftool -XMP -b output.pdf&amp;lt;/code&amp;gt; to verify.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Block 1 — IPTC Core rights&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Namespace: &amp;lt;b&amp;gt;Iptc4xmpCore&amp;lt;/b&amp;gt; (http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Injection key: &amp;lt;code&amp;gt;x:xmpmeta.rdf:RDF&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Contains: CopyrightNotice, CreatorContactInfo (email, URL), UsageTerms.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Typical use: photojournalism DAM, stock-photography catalogues.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Block 2 — XMP-MM version history&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Namespace: &amp;lt;b&amp;gt;xmpMM&amp;lt;/b&amp;gt; (http://ns.adobe.com/xap/1.0/mm/)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Injection key: &amp;lt;code&amp;gt;x:xmpmeta.rdf:RDF&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Contains: DocumentID, InstanceID, VersionID, History (sequence of events), DerivedFrom.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Typical use: document management systems, digital asset lineage tracking.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Block 3 — Custom application metadata&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Namespace: &amp;lt;b&amp;gt;tcpdf&amp;lt;/b&amp;gt; (https://github.com/tecnickcom/tc-lib-pdf/ns/xmp/1.0/)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Injection key: &amp;lt;code&amp;gt;x:xmpmeta.rdf:RDF&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Contains: exampleId, generatedBy, generationDate, featureTag.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Typical use: integration metadata for build pipelines, print-MIS systems, or&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; any workflow that needs to carry arbitrary key-value pairs inside the PDF&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; without modifying the Info dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Important notes&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; • Each fragment is checked for well-formedness in the namespace context of its&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; injection point; an invalid fragment raises an exception instead of corrupting&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the metadata stream.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; • Multiple calls with the same key are concatenated in insertion order; pass the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; third argument to replace them instead.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; • Injection into &amp;lt;code&amp;gt;x:xmpmeta.rdf:RDF.rdf:Description&amp;lt;/code&amp;gt; adds properties to the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; shared Description block; prefer a standalone Description block (as done here) to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; keep namespace declarations self-contained.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; • All standard metadata (title, author, subject, keywords, dates, producer) is still&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; emitted automatically and is not affected by setCustomXMP().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E061 : user rights reader extensions</title><link>https://tcpdf.org/examples/E061_user_rights_reader_extensions/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E061_user_rights_reader_extensions/</guid><description>&lt;p&gt;Reader extension rights, granted through a usage rights (&lt;abbr title="Usage Rights"&gt;UR&lt;/abbr&gt;) signature.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E061_user_rights_reader_extensions.pdf"&gt;E061_user_rights_reader_extensions.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E061_user_rights_reader_extensions.phps"&gt;E061_user_rights_reader_extensions.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#interactive-documents"&gt;Interactive Documents&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E061_user_rights_reader_extensions.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E061_user_rights_reader_extensions.webp" alt="Page 1 of E061_user_rights_reader_extensions.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E061_user_rights_reader_extensions.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: This example requires a signing certificate. Run the following to create a self-signed one:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// cd examples/data/cert&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// openssl req -x509 -nodes -days 365000 -newkey rsa:2048 -keyout tcpdf.crt -out tcpdf.crt \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -subj &amp;#34;/CN=tc-lib-pdf demo&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate Adobe Reader extension rights via setUserRights().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Background&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ──────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Standard PDF encryption (setEncrypt / E045) controls which operations a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * user is *prevented* from performing. That is a restriction model.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Reader Extensions (UR - Usage Rights) are a complementary *enablement*&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * model: they grant additional privileges to free Adobe Reader users that&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Reader would otherwise reserve for Acrobat Pro. Common examples:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Filling in forms and saving the filled data&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Creating, modifying, and deleting annotations (comments, stamps, etc.)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Signing existing signature fields&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Exporting embedded files&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Implementation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ──────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * UR rights are embedded via a special /UR3 signature object (SubFilter:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * adbe.pkcs7.detached with cert_type = 0, i.e. no DocMDP constraint).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This is distinct from a CMS approval or certification signature:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • cert_type &amp;gt; 0 → DocMDP (document modification detection / certification)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • cert_type = 0 → UR (usage-rights extension)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * setUserRights() accepts an array of right categories:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * enabled (bool) must be true to activate UR output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * document (string) document-level rights e.g. &amp;#39;/FullSave&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * form (string) form-filling rights e.g. &amp;#39;/FillIn /Export&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * formex (string) form extras e.g. &amp;#39;/BarcodePlaintext&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * annots (string) annotation rights e.g. &amp;#39;/Create /Delete /Modify /Copy /Import /Export&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * signature (string) signing rights e.g. &amp;#39;/Modify&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ef (string) embedded-file rights e.g. &amp;#39;/Create /Delete /Modify /Import&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The companion setSignature() call wires the UR3 signature using the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * supplied certificate. cert_type = 0 selects the UR branch in the output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * layer (see Output::getOutSignatureUserRights).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * IMPORTANT: UR rights are only honoured by Adobe Reader / Acrobat. Most&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * open-source readers do not enforce or display UR distinctions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Create it with:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; openssl req -x509 -nodes -days 365000 -newkey rsa:2048 \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; -keyout examples/data/cert/tcpdf.crt -out examples/data/cert/tcpdf.crt \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; -subj &amp;#34;/CN=tc-lib-pdf demo&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 061&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Reader Extension Rights (UR Signature)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example user rights reader extensions UR signature form annotation&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E061_user_rights_reader_extensions.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Enable Reader Extension Rights&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Grant form-filling, commenting, and signing rights to free Adobe Reader.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setUserRights([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;document&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/FullSave&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;form&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/FillIn /Export&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;annots&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/Create /Delete /Modify /Copy /Import /Export&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signature&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/Modify&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ef&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/Create /Delete /Modify /Import&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Wire the UR3 signature (cert_type = 0 → UR path, not DocMDP).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignature([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#8b949e;font-style:italic"&gt;// 0 = UR, not DocMDP certification&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Enabling Reader Extension Rights&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a simple interactive text field to exercise form-filling rights&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfontB&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-insert non-bold base font so the font stack is in a clean state&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// before addHTMLCell starts its height-estimation pass.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Info block&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;Reader Extension Rights (UR Signature)&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This PDF uses a /UR3 usage-rights signature to grant additional privileges to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; free Adobe Reader users beyond the default read-only experience.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Rights enabled in this document&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;0&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt; color:#003366; font-weight:bold; width:90mm;&amp;#34;&amp;gt;Category&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt; color:#003366; font-weight:bold;&amp;#34;&amp;gt;Granted rights&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;Document&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;/FullSave — Reader may save a filled-in copy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;Form&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;/FillIn /Export — fill fields and export data&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;Annotations&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;/Create /Delete /Modify /Copy /Import /Export&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;Signature&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;/Modify — apply or clear a digital signature&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;Embedded files&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;/Create /Delete /Modify /Import&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Interactive field (test form-fill right)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The text field below can be filled and &amp;lt;b&amp;gt;saved&amp;lt;/b&amp;gt; in free Adobe Reader because&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the FullSave document right has been enabled. Without UR rights, Reader would&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; only allow printing a filled-in copy, not saving it.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a text field that exercises the form-filling right.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ffid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addFFText(&lt;span style="color:#a5d6ff"&gt;&amp;#39;ur_test_field&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;value&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Type here and save...&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addAnnotRef(&lt;span style="color:#79c0ff"&gt;$ffid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Label for the field.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-insert non-bold font before getTextCell to keep the font stack clean.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Saveable text field:&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;133.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 - Contrast with DocMDP certification (cert_type &amp;gt; 0)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-insert non-bold base font before addHTMLCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:16pt; color:#003366;&amp;#34;&amp;gt;UR vs DocMDP — Key Differences&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;cert_type = 0 → Usage Rights (UR3) — this document&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Purpose: &amp;lt;b&amp;gt;grant&amp;lt;/b&amp;gt; extra privileges to Reader.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Signature type: /UR3 — not a DocMDP certification.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Does not constrain future modifications.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Reader shows a &amp;#34;Reader Extensions&amp;#34; badge rather than a certification badge.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Created via: &amp;lt;code&amp;gt;setUserRights([...]) + setSignature([&amp;#39;cert_type&amp;#39; =&amp;amp;gt; 0, ...])&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;cert_type = 1/2/3 → DocMDP Certification&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Purpose: &amp;lt;b&amp;gt;certify&amp;lt;/b&amp;gt; authorship and &amp;lt;b&amp;gt;restrict&amp;lt;/b&amp;gt; allowed changes.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; cert_type 1 = no changes allowed; 2 = form-filling + signing; 3 = + annotations.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Reader shows a certification badge; further changes break the signature seal.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Created via: &amp;lt;code&amp;gt;setSignature([&amp;#39;cert_type&amp;#39; =&amp;amp;gt; 2, ...])&amp;lt;/code&amp;gt; (see E007–E009)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:13pt; color:#005599;&amp;#34;&amp;gt;Standard encryption (E045) vs UR rights&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Standard PDF encryption sets a &amp;lt;b&amp;gt;permission bitmap&amp;lt;/b&amp;gt; that &amp;lt;b&amp;gt;prevents&amp;lt;/b&amp;gt; operations&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (printing, copying, modifying) unless the owner password is supplied.&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; UR rights are orthogonal: they &amp;lt;b&amp;gt;enable&amp;lt;/b&amp;gt; specific Reader features that are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; otherwise locked regardless of password protection. Both mechanisms can be&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; combined in the same document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E062 : bidi mixed rtl ltr</title><link>https://tcpdf.org/examples/E062_bidi_mixed_rtl_ltr/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E062_bidi_mixed_rtl_ltr/</guid><description>&lt;p&gt;Hebrew, Arabic, and Latin runs in the same paragraph, resolved by the Unicode Bidirectional Algorithm.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E062_bidi_mixed_rtl_ltr.pdf"&gt;E062_bidi_mixed_rtl_ltr.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E062_bidi_mixed_rtl_ltr.phps"&gt;E062_bidi_mixed_rtl_ltr.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E062_bidi_mixed_rtl_ltr.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E062_bidi_mixed_rtl_ltr.webp" alt="Page 1 of E062_bidi_mixed_rtl_ltr.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E062_bidi_mixed_rtl_ltr.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Unifont covers ~65 000 Unicode glyphs (including per-glyph cbbox data).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Loading its full metric array exceeds the 128 MB PHP default.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\ini_set(&lt;span style="color:#a5d6ff"&gt;&amp;#39;memory_limit&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;256M&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate mixed bidirectional (BiDi) text layout using setRTL().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * tc-lib-pdf supports Unicode BiDi text via tc-lib-unicode. The document&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * direction is set with setRTL(bool):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * setRTL(false) - LTR default (Latin, CJK, etc.)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * setRTL(true) - RTL default (Arabic, Hebrew, Persian, Urdu, etc.)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The direction affects:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Cell and text origin anchoring (LTR: x is left edge; RTL: x is right edge)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • HTML block-level alignment defaults (text-align)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * • Cursor advancement direction&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Within an HTML block the Unicode BiDi algorithm handles inline direction&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * switches automatically for mixed runs (e.g. Hebrew words embedded inside&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * an English sentence or vice-versa).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Difference from E003 (pure Arabic/Persian):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E003 uses a pure RTL document with no LTR direction switching.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example focuses on the MID-DOCUMENT switch between RTL and LTR pages&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * and on truly mixed paragraphs that contain both Hebrew and Latin text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * on the same line, which is common in real-world bilingual publishing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Font note: Unifont contains glyphs for virtually all Unicode scripts and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * correctly supports BiDi rendering, making it the safest choice for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * multilingual examples.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 062&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Mixed BiDi RTL/LTR Typography&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example bidi rtl ltr hebrew arabic latin mixed direction&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E062_bidi_mixed_rtl_ltr.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Unifont - comprehensive Unicode coverage including Hebrew&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 - LTR document with embedded RTL runs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// default: LTR&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:15pt; color:#003366;&amp;#34;&amp;gt;Page 1 — LTR document, embedded RTL runs&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph is in English (LTR). Hebrew words are embedded inline and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Unicode BiDi algorithm resolves their direction automatically without any&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; explicit markup. For example: the Hebrew word for &amp;#34;peace&amp;#34; is שָׁלוֹם and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; word for &amp;#34;hello&amp;#34; is שָׁלוֹם (shalom). The sentence continues in English after&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; each Hebrew run.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; A mixed technical phrase: the algorithm (אַלְגּוֹרִיתְם) runs in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; O(n log n) time. The constant (קְבוּעַ) is defined as 3.14.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Numbers like 1, 2, 3 remain LTR regardless of surrounding script context.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Quotation from the Hebrew Bible (Psalm 133:1, LTR paragraph):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span style=&amp;#34;color:#660000;&amp;#34;&amp;gt;הִנֵּה מַה טוֹב וּמַה נָּעִים שֶׁבֶת אַחִים גַּם יָחַד&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; — &amp;#34;How good and pleasant it is when brothers dwell together in unity.&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:12pt; color:#005599;&amp;#34;&amp;gt;Right-aligned Hebrew block (LTR document, explicit alignment)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; text-align:right; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; בְּרֵאשִׁית בָּרָא אֱלֹהִים אֵת הַשָּׁמַיִם וְאֵת הָאָרֶץ&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; וְהָאָרֶץ הָיְתָה תֹהוּ וָבֹהוּ וְחֹשֶׁךְ עַל פְּנֵי תְהוֹם&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; וְרוּחַ אֱלֹהִים מְרַחֶפֶת עַל פְּנֵי הַמָּיִם&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666666; text-align:right;&amp;#34;&amp;gt;Genesis 1:1-2 (Hebrew)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html1&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 - RTL document with embedded LTR runs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// switch to RTL for this page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:15pt; color:#003366;&amp;#34;&amp;gt;עמוד 2 — מסמך RTL עם רצפי LTR&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; פסקה זו נכתבת בעברית (RTL). מונחים אנגליים כגון &amp;lt;span dir=&amp;#34;ltr&amp;#34;&amp;gt;Unicode BiDi&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ו-&amp;lt;span dir=&amp;#34;ltr&amp;#34;&amp;gt;tc-lib-pdf&amp;lt;/span&amp;gt; מוטמעים בשורה, ואלגוריתם ה-BiDi מטפל בכיוונם&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; אוטומטית. המשפט ממשיך בעברית לאחר כל רצף אנגלי.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ניתן לשלב מספרים כגון 42, 3.14 ו-100% בתוך טקסט עברי ללא&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; סימון מיוחד. הם מוצגים בסדר קריאה נכון בהקשרם.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:10pt; color:#333333; text-align:right;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; משפט טכני מעורב: הפונקציה&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span dir=&amp;#34;ltr&amp;#34; style=&amp;#34;color:#0000aa; font-weight:bold;&amp;#34;&amp;gt;setRTL(true)&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; מגדירה את כיוון מסמך ברירת המחדל ל-RTL. ניתן להחליף כיוון&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; בכל עמוד על ידי קריאה ל-&amp;lt;span dir=&amp;#34;ltr&amp;#34; style=&amp;#34;color:#0000aa;&amp;#34;&amp;gt;setRTL(false)&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; לפני &amp;lt;span dir=&amp;#34;ltr&amp;#34; style=&amp;#34;color:#0000aa;&amp;#34;&amp;gt;addPage()&amp;lt;/span&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 3 - Back to LTR: summary and guidance&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ===================================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setRTL(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// back to LTR&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:15pt; color:#003366;&amp;#34;&amp;gt;Page 3 — Summary and Guidance&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:12pt; color:#005599;&amp;#34;&amp;gt;setRTL() scope&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;setRTL()&amp;lt;/code&amp;gt; sets the default document direction. Call it &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;addPage()&amp;lt;/code&amp;gt; to apply the direction to the new page context. Changing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; direction mid-page is possible but affects all subsequent cell-placement calls on&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:12pt; color:#005599;&amp;#34;&amp;gt;Inline BiDi — no markup needed&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The Unicode BiDi algorithm (UAX #9) handles inline direction switches&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; automatically. You do not need explicit &amp;lt;code&amp;gt;dir=&amp;#34;rtl&amp;#34;&amp;lt;/code&amp;gt; or&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;dir=&amp;#34;ltr&amp;#34;&amp;lt;/code&amp;gt; attributes for most runs — the script category of each&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; character determines its display direction. Use explicit &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; only when the context-based algorithm would resolve the direction incorrectly&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (e.g. punctuation adjacent to a direction boundary).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:12pt; color:#005599;&amp;#34;&amp;gt;Font coverage&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This example uses &amp;lt;b&amp;gt;Unifont&amp;lt;/b&amp;gt;, which covers virtually all Unicode blocks&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; including Hebrew, Arabic, Devanagari, CJK, and Latin. For production use,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; consider a font with better kerning and glyph quality for your primary script&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (DejaVu Sans for Latin+Hebrew, Noto fonts for full multilingual coverage).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:12pt; color:#005599;&amp;#34;&amp;gt;Pure RTL scripts — see also&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; For documents that are entirely in Arabic or Persian (no mixed LTR content)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; see &amp;lt;b&amp;gt;E003_persian_arabic.php&amp;lt;/b&amp;gt;, which demonstrates &amp;lt;code&amp;gt;setRTL(false)&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (the document is LTR but the HTML content uses &amp;lt;code&amp;gt;text-align:right&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; combined with Unicode RTL codepoints).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html3&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E063 : manual tag tree</title><link>https://tcpdf.org/examples/E063_manual_tag_tree/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E063_manual_tag_tree/</guid><description>&lt;p&gt;Building the PDF/UA structure element tree by hand, rather than letting the &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; renderer generate it.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E063_manual_tag_tree.pdf"&gt;E063_manual_tag_tree.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E063_manual_tag_tree.phps"&gt;E063_manual_tag_tree.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E063_manual_tag_tree.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E063_manual_tag_tree.webp" alt="Page 1 of E063_manual_tag_tree.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E063_manual_tag_tree.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate manual PDF/UA structure-element tagging via&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * beginStructElem() / endStructElem().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Background&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ──────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Accessible (tagged) PDFs carry a logical structure tree that screen readers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * use to navigate and read content in reading order. When tc-lib-pdf operates&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * in a pdfua or pdfua1/pdfua2 mode it auto-tags content produced by&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addHTMLCell() using the HTML semantic elements (h1→H1, p→P, etc.).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * For content produced with the lower-level text APIs - or for cases&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * where you need precise control over structure roles - you can bracket each&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * logical block with:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * beginStructElem(string $role, int $pid)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Opens a structure-element bracket. All tagged content produced&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * until the matching endStructElem() is associated with this element.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * $role is a PDF structure role (see PDF 32000 §14.8):&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Headings : H, H1 … H6&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Body : P, Blockquote, Note, Caption&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * List : L, LI, Lbl, LBody&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Table : Table, TR, TH, TD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Inline : Span, Link, Reference, BibEntry&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Other : Document, Part, Sect, Art, Figure, TOC, TOCI&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * $pid is the page ID from addPage()[&amp;#39;pid&amp;#39;].&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * endStructElem()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Closes the current bracket. The completed element (with all its&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * tagged content MCIDs) is appended to the structure log.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Empty elements (no tagged content inside the bracket) are silently&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * discarded.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * When pdfuaMode is &amp;#39;&amp;#39; (plain PDF mode) both methods are no-ops, so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * same code runs safely in plain and PDF/UA modes without changes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * NOTE: beginStructElem()/endStructElem() only associate MCIDs with content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * emitted through the tagged text path. For manual tagging, use addTextCell()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (second argument is the page ID) rather than writing raw getTextCell()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * output directly with page-&amp;gt;addContent().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example uses &amp;#39;pdfua1&amp;#39; mode and demonstrates the full manual-tagging&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * surface across four pages:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 1 - Heading roles (H1, H2, H3), P, Figure, Caption&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 2 - Note, Blockquote, multi-paragraph body&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 3 - Sect/Art grouping containers; list structure (L &amp;gt; LI &amp;gt; Lbl + LBody)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Page 4 - Table nesting (Table &amp;gt; TR &amp;gt; TH / TD); Figure with /Alt alternate text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Non-semantic decorative content can be emitted as Artifact marked-content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * with addArtifactContent() or, at the low level, by writing the strings&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * returned by beginArtifact() / endArtifact() with page-&amp;gt;addContent().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example uses addArtifactContent() to add decorative separator rules as&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * /Artifact with /Type /Layout.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * All content is tagged with addTextCell() inside explicit struct-elem brackets.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Compare with E015–E017 which enable pdfua mode via addHTMLCell (auto-tagged).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfua1,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 063&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Manual Tag Tree (PDF/UA Structure Elements)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example pdfua tagged structure accessibility wcag screen reader&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E063_manual_tag_tree.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A tagged document must declare the natural language of its content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguage(&lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultCellMargin(top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, right&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rightMargin&lt;/span&gt;, bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, left&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addDecorativeSeparator&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posY&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.25&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#bdbdbd&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addArtifactContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posY&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;195.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posY&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Layout&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Font setup - insert before addPage()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 - H1, H2, H3, P, Caption, Figure structure elements&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addDecorativeSeparator&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- H1 heading ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H1&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Manual Tag Tree — PDF/UA Structure Elements&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Introductory paragraph (P) ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$intro&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This document uses beginStructElem() and endStructElem() to build &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the accessibility structure tree manually. Every piece of text is &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;wrapped in an explicit structure-element bracket that maps content &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;to a PDF logical role (H1, H2, H3, P, Caption). A screen reader can &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;navigate the heading hierarchy and read body paragraphs in the correct &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;logical order.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$intro&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Section 1: H2 + P ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Section 1 — Heading Roles&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sec1body&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Structure roles H1 through H6 define the heading hierarchy. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H1 is the document title; H2 is a top-level section heading; H3 is a &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sub-section; and so on. Screen readers present this outline as a &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;navigable table of contents. Nesting is implied by the sequence of &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;structure elements logged by endStructElem().&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sec1body&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;64.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Sub-section: H3 ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1.1 — Sub-section with H3 role&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;85.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;An H3 element is used here to show a third level in the outline. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The structure tree will contain: H1 &amp;gt; H2 &amp;gt; H3 &amp;gt; P, reflecting the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;logical reading order of this page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;93.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Section 2: H2 + P + Figure + Caption ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Section 2 — Figure and Caption Roles&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;113.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The Figure role wraps graphical content. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A Caption role immediately following a Figure provides an &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;accessible description of the visual element for screen-reader users.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;122.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw and tag a simple coloured rectangle as Figure content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$figStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#336699&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cce0ff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The bounding box is required by PDF/UA for figures contained on a single page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// It is expressed in points, from the bottom-left page corner.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTaggedFigureContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform() &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;143.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$figStyle&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform(),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Blue placeholder rectangle representing a figure area&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;143.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;143.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Caption for the figure.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caption&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Figure 1 — Placeholder rectangle representing graphical content (Caption role)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;170.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 - Note, Blockquote, and multi-paragraph body&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addDecorativeSeparator&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 2 — Note, Blockquote, and Multi-element Brackets&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Note element (with explicit ID for validator compatibility)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Note&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;, alt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, attr&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;ID&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;note-p2-01&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NOTE: beginStructElem() / endStructElem() are no-ops in plain PDF mode &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(pdfuaMode = &amp;#34;&amp;#34;). The same code runs safely in both plain and PDF/UA &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;modes without conditional branching.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Blockquote element&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BlockQuote&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;Tagged PDF is the foundation of accessible PDF. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Without a well-formed structure tree, automated tools and assistive &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;technologies cannot reliably interpret document content.&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;52.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caption&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;— ISO 14289-1:2012 (PDF/UA-1) rationale&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;72.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Multi-paragraph body section&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$paras&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Each call to endStructElem() closes the innermost open bracket. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Completed elements keep their nested parent-child relationships, so &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the emitted structure tree follows the bracket hierarchy and preserves &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the reading order of nested content blocks.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A structure bracket that receives no tagged content (i.e. no addTextCell &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;call between beginStructElem and endStructElem) is silently discarded. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This prevents empty structure nodes from appearing in the tree.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pages 3 and 4 of this document demonstrate the remaining role categories: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;grouping containers (Sect, Art), list structure (L, LI, Lbl, LBody), &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and table structure (Table, TR, TH, TD) — each requiring multi-level &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nested brackets that the library resolves at getOutPDFString() time.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$yPos&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$paras&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$para&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$para&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$yPos&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$yPos&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 3 - Sect/Art grouping containers + List structure&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page3&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addDecorativeSeparator&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 3 — Grouping Containers and List Structure&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ── Sect wrapping a sub-section (H3 + P inside a Sect container) ──────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Sect&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;3.1 — Sect Container&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;34.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The Sect (Section) role is a grouping container: it contributes no &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content of its own but wraps related blocks — here an H3 and this P &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;paragraph — into a single logical section node in the structure tree. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Screen readers and PDF validators see the H3 + P as children of the Sect.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;43.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// Sect&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ── Art container ─────────────────────────────────────────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Art&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;3.2 — Art Container&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The Art (Article) role marks a self-contained composition: its content &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;could stand alone as a discrete piece. It is distinguished from Sect &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;in that Sect groups thematically related material within a larger work, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;while Art denotes an independently distributable unit.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;74.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// Art&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ── List: L &amp;gt; LI &amp;gt; {Lbl + LBody} ─────────────────────────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;3.3 — List Structure (L &amp;gt; LI &amp;gt; Lbl + LBody)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;97.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Each list item (LI) contains a label (Lbl) and a body (LBody). &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The outer L bracket wraps all items into one logical list node.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;107.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$listItems&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Headings (H1–H6)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Define the document outline navigated by screen readers.&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Body roles (P, Note, Blockquote)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Carry prose content at the block level.&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Grouping roles (Sect, Art, Part)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Wrap related blocks without adding visible content.&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;List roles (L, LI, Lbl, LBody)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Express enumerated or bulleted list structure.&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Table roles (Table, TR, TH, TD)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Capture row/column relationships in data tables.&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$itemY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;122.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$listItems&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LI&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lbl&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;• &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$itemY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// Lbl&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LBody&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;65.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$itemY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// LBody&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// LI&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$itemY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// L&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 4 - Table nesting + Figure with /Alt alternate description&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$addDecorativeSeparator&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 4 — Table Structure and Figure with Alt-Text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ── Table ─────────────────────────────────────────────────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The Table role wraps a complete data table. Each row is a TR; header &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cells are TH; data cells are TD. All brackets must be closed &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inside-out before moving to the next row.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Column geometry (three columns)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;120.0&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$colW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;65.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;52.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableHeaders&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Structure Role&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Category&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Nesting context&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableHeaderIds&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;th-role&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;th-category&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;th-context&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;H1–H6&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Heading&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect / Art&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Body&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect / Art&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Note, Blockquote&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Body&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect / Art&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;List&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;LI&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;List item&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Inside L&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Lbl / LBody&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;List parts&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Inside LI&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Table&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;TR&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table row&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Inside Table&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;TH / TD&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table cell&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Inside TR&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Sect / Art / Part&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Container&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document-level&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Figure&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Graphic&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Document / Sect&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;Caption&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caption&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;After Figure&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Header row&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TR&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$tableHeaders&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hdr&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TH&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;, alt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, attr&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;O&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ID&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableHeaderIds&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Scope&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Column&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$hdr&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$colX&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$colW&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// TH&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// TR (header)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Data rows&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowH&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TR&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$row&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TD&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;, alt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, attr&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;O&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Table&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Headers&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableHeaderIds&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$colX&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$colW&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// TD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// TR&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem(); &lt;span style="color:#8b949e;font-style:italic"&gt;// Table&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ── Figure with /Alt alternate description ────────────────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;4.1 — Figure with /Alt Entry&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;For non-text graphics, use addTaggedFigureContent() and pass an /Alt &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;description for accessibility. The string is written into the Figure &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;structure-element dictionary and read aloud by screen readers when &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the graphical content cannot be represented as plain text.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw a simple placeholder rectangle for the figure.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$figStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#4a7c59&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#d6ead9&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTaggedFigureContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStartTransform() &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$figStyle&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getStopTransform(),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Horizontal bar chart illustrating the relative nesting depth of each PDF structure role category&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$page4&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;beginStructElem(role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Caption&amp;#39;&lt;/span&gt;, pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Figure 2 — Placeholder for a bar chart; /Alt text is written to the Figure struct-element dictionary&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$leftMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$figY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;endStructElem();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E064 : custom hyphenation dictionary</title><link>https://tcpdf.org/examples/E064_custom_hyphenation_dictionary/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E064_custom_hyphenation_dictionary/</guid><description>&lt;p&gt;Loading a TeX hyphenation pattern file of your own, here for Dutch.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E064_custom_hyphenation_dictionary.pdf"&gt;E064_custom_hyphenation_dictionary.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E064_custom_hyphenation_dictionary.phps"&gt;E064_custom_hyphenation_dictionary.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E064_custom_hyphenation_dictionary.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E064_custom_hyphenation_dictionary.webp" alt="Page 1 of E064_custom_hyphenation_dictionary.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E064_custom_hyphenation_dictionary.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrate external TeX hyphenation pattern loading via&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * loadTexHyphenPatterns() + setTexHyphenPatterns().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Background&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ──────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * tc-lib-pdf inherits hyphenation support from the tc-lib-unicode library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * By default NO hyphenation patterns are loaded; hyphenation only occurs&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * when explicit soft-hyphens (&amp;amp;shy;) are present in the source text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (see E028_text_hyphenation.php for that approach).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * When you call setTexHyphenPatterns() with a loaded pattern array, the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * library automatically inserts soft-hyphen break points based on the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * pattern rules while laying out each text run. This is especially useful&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * for narrow columns, justified text, or languages with long compound words&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (German, Dutch, Finnish, etc.) where manual soft-hyphen insertion would&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * be impractical.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * API&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ───&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * loadTexHyphenPatterns(string $file): array&amp;lt;string,string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Parses a TeX .tex pattern file (the standard format used by CTAN&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * packages such as hyph-utf8) and returns a pattern array.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The file must contain a \patterns{ ... } block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * setTexHyphenPatterns(array $patterns): void&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Installs the pattern array as the active hyphenation dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Pass an empty array [] to disable automatic hyphenation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Full pattern files for ~100 languages are available from CTAN:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This example uses a small Dutch sample pattern file bundled with the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * examples to keep the demo self-contained. The same technique works with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * any complete CTAN TeX pattern file.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Comparison layout&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ─────────────────&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The page shows the same Dutch paragraph rendered twice side by side:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Left column - NO patterns loaded (only explicit &amp;amp;shy; break points)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Right column - Dutch sample patterns loaded via loadTexHyphenPatterns()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Dutch is a good demonstration language because it has many long compound&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * words (e.g. &amp;#34;woordenschat&amp;#34;, &amp;#34;zelfstandigheid&amp;#34;, &amp;#34;werkgelegenheid&amp;#34;) that&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * benefit greatly from automatic hyphenation in narrow columns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Path to the bundled sample Dutch TeX pattern file.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patternFile&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/hyph-nl-sample.tex&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$patternFile&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing pattern file: examples/data/hyph-nl-sample.tex&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Common document setup&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 064&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom TeX Hyphenation Dictionary&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example hyphenation tex patterns dutch custom dictionary&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E064_custom_hyphenation_dictionary.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Load the Dutch pattern file BEFORE generating content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Step 1: parse the .tex file into a pattern array.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$dutchPatterns&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;loadTexHyphenPatterns(file&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$patternFile&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Step 2: install as the active dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dutchPatterns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontH2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontBody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontCode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontSmall&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Dutch sample text - a paragraph with long compound words.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$dutchPara&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;De Nederlandse taal staat bekend om zijn lange samenstellingen. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Woorden zoals woordenschatontwikkeling, zelfstandigheidsbewegingen, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;werkgelegenheidsbeleid, verantwoordelijkheidsgevoelens, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maatschappelijkontwikkelingswerk en informatietechnologieonderwijs &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zijn perfecte voorbeelden van samenstellingen die automatische &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;woordafbreking vereisen voor een goede leesbaarheid in smalle kolommen. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Zonder patronen worden zulke woorden niet afgebroken en loopt de tekst &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;over de kolomrand of ontstaan er grote witruimten bij uitgevulde tekst. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Met de juiste TeX-patronen worden breekpunten automatisch ingevoegd &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;op de linguistisch correcte syllabegrenzen van elk woord.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1 - Side-by-side comparison&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Title ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fontTitle&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Custom TeX Hyphenation Dictionary&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;18.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fontSmall&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;loadTexHyphenPatterns() + setTexHyphenPatterns() — Dutch sample patterns vs no patterns&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;27.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// --- Column headers ---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fontH2&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Without patterns&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;37.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;87.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;With Dutch patterns&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;108.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;37.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;87.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Separator line between header and body&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sepStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#336699&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;43.5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;195.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;43.5&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$sepStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Vertical divider between columns&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$divStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#aaaaaa&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;103.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;44.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;103.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;200.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$divStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Left column - no automatic hyphenation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Temporarily disable patterns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; []);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$leftHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:justify; font-size:9pt; color:#222222;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dutchPara&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-insert non-bold font before left column addHTMLCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$leftHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45.0&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;87.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Right column - Dutch patterns active&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-enable Dutch patterns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dutchPatterns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rightHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:justify; font-size:9pt; color:#222222;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$dutchPara&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reset font stack to non-bold before second addHTMLCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rightHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;108.0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;45.0&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;87.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Pattern statistics block (below columns)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$fontSmall&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$patternCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$dutchPatterns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Pattern file: examples/data/hyph-nl-sample.tex | Patterns loaded: &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;{&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$patternCount&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;}&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; | Source: CTAN hyph-utf8 (excerpt)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;205.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2 - API reference and usage guidance&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Re-insert non-bold base font so the font stack is clean before addHTMLCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1 style=&amp;#34;font-size:14pt; color:#003366;&amp;#34;&amp;gt;API Reference and Usage Guidance&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt; color:#005599;&amp;#34;&amp;gt;loadTexHyphenPatterns(string $file): array&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Reads a TeX hyphenation pattern file and returns an associative array mapping&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; pattern keys to their weighted strings. The file must contain a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;\patterns{ ... }&amp;lt;/code&amp;gt; block in standard TeX format. Comments&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (lines starting with &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt;) are stripped before parsing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The returned array can be stored and reused across multiple PDF objects&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; without re-reading the file:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;pre style=&amp;#34;font-size:8pt; color:#003366; background:#f0f4ff;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; $patterns = $pdf-&amp;gt;loadTexHyphenPatterns(lang: &amp;#39;/path/to/hyph-en-us.tex&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; $pdf-&amp;gt;setTexHyphenPatterns(lang: $patterns);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/pre&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt; color:#005599;&amp;#34;&amp;gt;setTexHyphenPatterns(array $patterns): void&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Installs the pattern array as the active hyphenation dictionary. Hyphenation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; applies to all subsequent text layout calls. Pass an empty array&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; to disable automatic hyphenation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt; color:#005599;&amp;#34;&amp;gt;Obtaining pattern files&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Full-quality pattern files for approximately 100 languages are available from&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the CTAN hyph-utf8 package:&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Notable files:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;0&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt; width:55mm; color:#003366; font-weight:bold;&amp;#34;&amp;gt;File&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;font-size:8pt; color:#003366; font-weight:bold;&amp;#34;&amp;gt;Language&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-en-us.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;English (US)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-de-1996.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;German (1996 reform)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-nl.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Dutch&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-fr.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;French&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-pl.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Polish&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-fi.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Finnish&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-pt.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Portuguese&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;hyph-sv.tex&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Swedish&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt; color:#005599;&amp;#34;&amp;gt;Soft hyphens vs automatic patterns — when to use each&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;&amp;amp;amp;shy; (soft hyphens in HTML)&amp;lt;/b&amp;gt; — best for single documents with known content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; where exact break points matter (e.g. trade-marked compound names, proper nouns&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that patterns would get wrong). See E028_text_hyphenation.php.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;b&amp;gt;setTexHyphenPatterns()&amp;lt;/b&amp;gt; — best for documents with large amounts of flowing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; text where manual annotation is impractical (articles, books, reports). Patterns&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; are applied automatically to every word during layout without modifying the source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; string.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt; color:#005599;&amp;#34;&amp;gt;Switching languages mid-document&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt; color:#333333;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; You can switch the active dictionary between pages or even between HTML cells&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; by calling &amp;lt;code&amp;gt;setTexHyphenPatterns()&amp;lt;/code&amp;gt; again with a different pattern&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; array. Load all required pattern arrays at startup to avoid disk I/O during&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; layout, then swap them as needed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html2&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E065 : import single page</title><link>https://tcpdf.org/examples/E065_import_single_page/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E065_import_single_page/</guid><description>&lt;p&gt;Importing one page of an existing &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt; as a Form XObject and placing it on a destination page.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E065_import_single_page.pdf"&gt;E065_import_single_page.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E065_import_single_page.phps"&gt;E065_import_single_page.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#importing-existing-pdfs"&gt;Importing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;PDF Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E065_import_single_page.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E065_import_single_page.webp" alt="Page 1 of E065_import_single_page.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E065_import_single_page.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-03&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 1: create a source PDF to import from ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 065 source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Single Page - Source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import single page source template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;065_import_single_page_src.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$srcPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Source document&amp;lt;/h1&amp;gt;&amp;lt;p&amp;gt;This page will be imported.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 2: create a new document and import the source page ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 065&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Single Page - Destination&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import single page destination cropbox template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;065_import_single_page.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register the source document from its raw bytes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceData(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Count pages available in the source.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSourcePageCount(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Import page 1 as a reusable Form XObject template.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;importPage(sourceId&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;, pageNum&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a new page to the destination document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Place the imported page as a thumbnail (100 mm wide) at (20, 20).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The height is computed automatically to preserve the aspect ratio.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$placed&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;useImportedPage(tpl&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt;, xpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, ypos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add an annotation below the imported page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Imported &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; page(s). Placed page 1 above (scaled).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$placed&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$placed&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Get and render the PDF content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E066 : import document append</title><link>https://tcpdf.org/examples/E066_import_document_append/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E066_import_document_append/</guid><description>&lt;p&gt;Appending a whole source document, or a selected list of its pages.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E066_import_document_append.pdf"&gt;E066_import_document_append.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E066_import_document_append.phps"&gt;E066_import_document_append.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#importing-existing-pdfs"&gt;Importing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;PDF Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E066_import_document_append.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E066_import_document_append.webp" alt="Page 1 of E066_import_document_append.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E066_import_document_append.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-03&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 1: build a multi-page source PDF ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 066 source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Document Append - Source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import document append source template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;066_import_document_append_src.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;First page&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Second page&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;Third page&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$srcPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Source: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Page &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; of &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; in the source document.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 2: create destination document with an intro page ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 066&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Document Append - Destination&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import append merge destination template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;066_import_document_append.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Document append demo&amp;lt;/h1&amp;gt;&amp;lt;p&amp;gt;The following pages are imported from a separate source document.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 3: register source and append all its pages ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceData(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSourcePageCount(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// appendDocument adds one new destination page per source page and places the template.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$templates&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appendDocument(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 4: add a closing page with a summary ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Appended &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$templates&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; page(s) from source (&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; available).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E067 : import page region nup</title><link>https://tcpdf.org/examples/E067_import_page_region_nup/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E067_import_page_region_nup/</guid><description>&lt;p&gt;Importing with box selection, aspect ratio control, nine-point alignment, clipping, and N-up composition.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E067_import_page_region_nup.pdf"&gt;E067_import_page_region_nup.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E067_import_page_region_nup.phps"&gt;E067_import_page_region_nup.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#importing-existing-pdfs"&gt;Importing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;PDF Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E067_import_page_region_nup.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E067_import_page_region_nup.webp" alt="Page 1 of E067_import_page_region_nup.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E067_import_page_region_nup.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-03&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 1: build a 4-page source document ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 067 source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Page Region N-up - Source&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import page region nup source template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;067_import_page_region_nup_src.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$srcFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cards&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Card A&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffd7b5&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Quarterly sales summary&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Card B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#b8f2e6&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Regional performance map&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Card C&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cde7ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Customer retention trends&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Card D&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#f3d9fa&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fulfillment and logistics KPIs&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$cards&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$card&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Colored background fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bgStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$card&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$card&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;210&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;297&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bgStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Render page content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$srcFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$card&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;title&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$card&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Page &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; of &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$cards&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 2: import and compose a 2x2 N-up destination page ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 067&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Page Region N-up - Destination&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf import page region nup destination imposition&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;067_import_page_region_nup.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceData(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$gridWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;210.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$gridHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;297.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gridWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gridHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$positions&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$gap&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#404040&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$positions&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;importPage(sourceId&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;, pageNum&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, options&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;box&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CropBox&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cache&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;useImportedPage(tpl&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tpl&lt;/span&gt;, xpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, ypos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellWidth&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellHeight&lt;/span&gt;, options&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;keepAspectRatio&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;align&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Draw outer cell frame over the imported content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellWidth&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellHeight&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$borderStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$labelFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span style=&amp;#34;font-size:9px&amp;#34;&amp;gt;Imported page &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$x&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E068 : font subset</title><link>https://tcpdf.org/examples/E068_font_subset/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E068_font_subset/</guid><description>&lt;p&gt;Subsetting an embedded font down to the glyphs the document uses, and what that does to the file size.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E068_font_subset.pdf"&gt;E068_font_subset.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E068_font_subset.phps"&gt;E068_font_subset.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E068_font_subset.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E068_font_subset.webp" alt="Page 1 of E068_font_subset.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E068_font_subset.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-04&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object with font subsetting enabled&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 068&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Font Subsetting Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example font subsetting&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;068_font_subset.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert DejaVu Sans font for subsetting test&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add font to the page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML content demonstrating varied character sets for subsetting&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Font Subsetting Example&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This document demonstrates &amp;lt;b&amp;gt;font subsetting&amp;lt;/b&amp;gt; with DejaVu Sans font.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Font subsetting reduces the file size by including only the characters &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that are actually used in the document, rather than embedding the entire font.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Character Sets&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;English:&amp;lt;/b&amp;gt; THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG - the quick brown fox jumps over the lazy dog.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Numbers:&amp;lt;/b&amp;gt; 0123456789 · π ≈ 3.14159&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Punctuation:&amp;lt;/b&amp;gt; !@#$%^&amp;amp;*()[]{}–—«»‹›„“”‚‘’&amp;#34;&amp;#39;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Symbols:&amp;lt;/b&amp;gt; © ® ™ € £ ¥ ¢ § ¶ • ‰&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Benefits of Font Subsetting&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Reduced PDF file size&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Faster document transmission&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Only embedded characters are included&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Maintains font fidelity for used characters&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Text Samples&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Regular text in DejaVu Sans font for testing character coverage.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Bold text&amp;lt;/b&amp;gt; is also included in the subset.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOD&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// render the HTML content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Get the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E069 : html line height</title><link>https://tcpdf.org/examples/E069_html_line_height/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E069_html_line_height/</guid><description>&lt;p&gt;&lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; line-height in rendered &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;, across several values and units.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E069_html_line_height.pdf"&gt;E069_html_line_height.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E069_html_line_height.phps"&gt;E069_html_line_height.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E069_html_line_height.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E069_html_line_height.webp" alt="Page 1 of E069_html_line_height.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E069_html_line_height.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-27&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 069&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Line Height&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html css line-height typography spacing&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;069_html_line_height.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert DejaVu Sans font for subsetting test&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add font to the page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Line-Height CSS Tests&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;1) Line-height with percentages&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 100%&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 100%, which is the same as the font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each line should be tightly spaced without extra vertical space.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is useful when you want compact text layout.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 150%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 150%&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 150%, which adds moderate spacing between lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines are more readable and have better visual separation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is a common default setting for body text in many documents.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 200%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 200%&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 200%, which doubles the font size for vertical spacing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines have significant space between them, making the text very readable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is often used for accessibility or when line spacing is deliberately increased.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;2) Line-height with absolute units&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 10pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 10pt&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses an absolute line-height of 10 points.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The spacing between lines is fixed at exactly 10 points.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The font size remains 10pt, so this creates tightly packed lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 15pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 15pt&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses an absolute line-height of 15 points.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each line has exactly 15 points of vertical space allocated.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This provides moderate spacing for improved readability.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 20pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 20pt&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses an absolute line-height of 20 points.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines are well-spaced with 20 points of vertical space each.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This creates a more spacious and airy appearance in the document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;3) Line-height with relative units (em)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 0.8em;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 0.8em&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 0.8em, which is 80% of the current font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines are compressed together with minimal vertical space.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is useful for creating a compact visual effect.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 1.2em;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 1.2em&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 1.2em, which is 120% of the current font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines have a balanced amount of spacing for good readability.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is similar to using a 120% line-height percentage.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 2em;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 2em&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a line-height of 2em, which is 200% of the current font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines are widely separated with generous vertical spacing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This creates a very open and spacious text layout.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;4) Line-height with unitless numbers&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 0.9;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 0.9 (unitless)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a unitless line-height value of 0.9.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The multiplier is applied to the font size (0.9 × 10pt = 9pt).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This creates compact line spacing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 1.5;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 1.5 (unitless)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a unitless line-height value of 1.5.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The multiplier is applied to the font size (1.5 × 10pt = 15pt).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is a very popular setting for comfortable reading.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The spacing is proportional to the font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 2.5;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 2.5 (unitless)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a unitless line-height value of 2.5.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The multiplier is applied to the font size (2.5 × 10pt = 25pt).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The lines are very widely spaced and easy to read.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is often used for accessibility requirements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;5) Line-height with millimeters&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 5mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 5mm&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses an absolute line-height of 5 millimeters.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The vertical spacing between lines is exactly 5mm.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Different units like millimeters are sometimes used in print design.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 8mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 8mm&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses an absolute line-height of 8 millimeters.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The increased spacing makes the text more readable and open.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Millimeters are useful for precise layout control in documents.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;6) Comparison: normal vs specific values&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: normal;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: normal&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses the default line-height value (typically around 1.0-1.2).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The spacing is determined by the browser or PDF renderer default.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This is the baseline for comparison with other values.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;line-height: 1;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Line-height: 1 (unitless)&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This paragraph uses a unitless line-height of exactly 1.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The vertical space is the same as the font size.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This creates tightly spaced lines with minimal separation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;page-break-before:always;font-size:5mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:black;&amp;#34;&amp;gt;(1) default&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:grey; line-height:normal;&amp;#34;&amp;gt;(2) normal&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:orange; line-height:100%;&amp;#34;&amp;gt;(3) 100%&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:red; line-height:50%;&amp;#34;&amp;gt;(4) 50%&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:green; line-height:150%;&amp;#34;&amp;gt;(5) 150%&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:blue; line-height:10mm;&amp;#34;&amp;gt;(6) 10mm&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;color:violet; line-height:20mm;&amp;#34;&amp;gt;(7) 20mm&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;height&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;page-break-before:always;font-size:20mm;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;line-height:20mm; color:green;&amp;#34;&amp;gt;check&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;after&amp;lt;br/&amp;gt;BR&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;line-height:20mm; color:red;&amp;#34;&amp;gt;check&amp;lt;br/&amp;gt;line&amp;lt;br/&amp;gt;after&amp;lt;div&amp;gt;DIV&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;EOF&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E070 : default page content import</title><link>https://tcpdf.org/examples/E070_default_page_content_import/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E070_default_page_content_import/</guid><description>&lt;p&gt;An imported page reused as the default content of every page, as a letterhead or a background form.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E070_default_page_content_import.pdf"&gt;E070_default_page_content_import.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E070_default_page_content_import.phps"&gt;E070_default_page_content_import.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#importing-existing-pdfs"&gt;Importing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;PDF Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E070_default_page_content_import.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E070_default_page_content_import.webp" alt="Page 1 of E070_default_page_content_import.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E070_default_page_content_import.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-05&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Custom PDF class that imports and reuses a source page as default page content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;class&lt;/span&gt; &lt;span style="color:#f0883e;font-weight:bold"&gt;PdfWithImportedDefaultPage&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;extends&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/** @var ?\Com\Tecnick\Pdf\Import\PageTemplateInterface */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;private&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defaultTpl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Register source data and pick the page template to be used as default content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This uses the same import flow as E065:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - setImportSourceData(...)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - importPage(...)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param string $sourcePdfData Raw source PDF bytes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param int $sourcePageNum 1-based source page number to import.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;setDefaultImportedPage&lt;/span&gt;(string &lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$sourcePageNum&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceData(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSourcePageCount(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$sourcePageNum&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;||&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourcePageNum&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \InvalidArgumentException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Requested source page is out of range. Available pages: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageCount&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultTpl &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;importPage(sourceId&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;, pageNum&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourcePageNum&lt;/span&gt;, options&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;box&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CropBox&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cache&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Place the imported template on every new page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param int $pid Page index (0-based).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @return string Empty stream; content is added directly by useImportedPage().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;defaultPageContent&lt;/span&gt;(int &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultTpl &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPage(&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Fill the whole destination page with the imported source page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;useImportedPage(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tpl&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;defaultTpl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; xpos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ypos&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; options&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;keepAspectRatio&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;align&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CC&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 1: build a source PDF that will be imported ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$srcFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$srcFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Imported default page (source)&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This page is imported and reused as defaultPageContent() in E070.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$src&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 2: create destination PDF using the custom subclass ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; PdfWithImportedDefaultPage(&lt;span style="color:#a5d6ff"&gt;&amp;#39;mm&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 070&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Default Page Content from Imported PDF&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example import defaultPageContent template&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;070_default_page_content_import.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reuse source page 1 as the default page content for all pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDefaultImportedPage(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 1 - Foreground content&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The page background comes from an imported PDF page loaded via setImportSourceData() and importPage(), then applied in defaultPageContent().&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page 2 - Same imported default content&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bodyFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Because defaultPageContent() runs whenever addPage() is called, the imported source page is automatically placed on every new page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;95&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E071 : gettextcell bbox metrics</title><link>https://tcpdf.org/examples/E071_gettextcell_bbox_metrics/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E071_gettextcell_bbox_metrics/</guid><description>&lt;p&gt;getTextCell() returning the content operators together with the bounding box and the metrics, so text can be positioned from what it measures.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E071_gettextcell_bbox_metrics.pdf"&gt;E071_gettextcell_bbox_metrics.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E071_gettextcell_bbox_metrics.phps"&gt;E071_gettextcell_bbox_metrics.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E071_gettextcell_bbox_metrics.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E071_gettextcell_bbox_metrics.webp" alt="Page 1 of E071_gettextcell_bbox_metrics.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E071_gettextcell_bbox_metrics.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-06&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 071&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;getTextCell bbox metrics&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example getTextCell bbox textbbox cellbbox&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;071_gettextcell_bbox_metrics.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$monoFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;E071: getTextCell multiline bbox metrics&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$blockStyles&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#006699&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#f3f8fb&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Custom cell arrays use internal points, so convert desired 5 mm padding first.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$padding5mm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellPadding5mm&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$padding5mm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$padding5mm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$padding5mm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$padding5mm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderpos&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;BORDERPOS_DEFAULT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$multiline&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 1: This text uses getTextCell with automatic wrapping.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 2: The border is visible so the cell bounds can be compared.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 3: Metrics printed below come from getLastBBox(), getLastTextBBox(), and getLastCellBBox().&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$multiline&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellPadding5mm&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$blockStyles&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textbbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastTextBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastCellBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(float &lt;span style="color:#79c0ff"&gt;$value&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;%7.3F&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$value&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$monoFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$metricsText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bbox : x=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; y=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; w=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; h=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textbbox : x=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$textbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; y=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$textbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; w=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$textbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; h=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$textbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellbbox : x=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; y=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; w=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; h=&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fmtMetric&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$metricsPosY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellbbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$metricsText&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$metricsPosY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E072 : import new font</title><link>https://tcpdf.org/examples/E072_import_new_font/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E072_import_new_font/</guid><description>&lt;p&gt;Converting a TrueType or OpenType file with the bundled utility, then using the result in a document.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E072_import_new_font.pdf"&gt;E072_import_new_font.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E072_import_new_font.phps"&gt;E072_import_new_font.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E072_import_new_font.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E072_import_new_font.webp" alt="Page 1 of E072_import_new_font.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E072_import_new_font.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates a direct custom-font workflow:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 1. Download Noto Sans Regular.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 2. Convert it with tc-lib-pdf-font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 3. Start a PDF page and render text using that imported font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-06&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$defaultFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) \realpath(\dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/target/fonts/source&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/target/fonts/custom&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NotoSans-Regular.ttf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$notoUrl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/notofonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$notoSourcePath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;notosans&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Download a file from URL to local destination.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @throws RuntimeException in case of download failure&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; &lt;span style="color:#d2a8ff;font-weight:bold"&gt;downloadFile&lt;/span&gt;(string &lt;span style="color:#79c0ff"&gt;$url&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$destination&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$timeout&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ctx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \stream_context_create([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;http&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;follow_location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;max_redirects&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;timeout&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$timeout&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;@&lt;/span&gt;\file_get_contents(&lt;span style="color:#79c0ff"&gt;$url&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$ctx&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to download font from: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$url&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;@&lt;/span&gt;\file_put_contents(&lt;span style="color:#79c0ff"&gt;$destination&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to save downloaded font to: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$destination&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_dir(&lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!@&lt;/span&gt;\mkdir(&lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0o755&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_dir(&lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to create directory: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sourceFontsDir&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_dir(&lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!@&lt;/span&gt;\mkdir(&lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0o755&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_dir(&lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to create directory: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) \realpath(&lt;span style="color:#79c0ff"&gt;$customFontsDir&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to resolve custom fonts directory path.&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.json&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// 1) Download Noto Sans Regular only when needed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_file(&lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_file(&lt;span style="color:#79c0ff"&gt;$notoSourcePath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; downloadFile(&lt;span style="color:#79c0ff"&gt;$notoUrl&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$notoSourcePath&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// 2) Convert it to tc-lib-pdf-font format when not already converted.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_file(&lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sourceFontPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) \realpath(&lt;span style="color:#79c0ff"&gt;$notoSourcePath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$sourceFontPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unable to resolve downloaded font path.&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$import&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Font\Import(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sourceFontPath&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TrueTypeUnicode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Encoding ID 10 reads the format 12 cmap subtable of the font,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// required to render the characters above U+FFFF.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$import&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getFontName();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.json&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;catch&lt;/span&gt; (\Throwable &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$alreadyImported&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_contains(&lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage(), &lt;span style="color:#a5d6ff"&gt;&amp;#39;already imported:&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$alreadyImported&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \preg_match(&lt;span style="color:#a5d6ff"&gt;&amp;#39;/([a-z0-9_\-]+)\.json$/i&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage(), &lt;span style="color:#79c0ff"&gt;$match&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \strtolower((string) &lt;span style="color:#79c0ff"&gt;$match&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.json&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff7b72"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_file(&lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Converted font definition file not found: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$convertedFontPath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;catch&lt;/span&gt; (\Throwable &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$e&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getMessage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The HTML &amp;lt;pre&amp;gt; tag defaults to courier in this renderer.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Copy core courier metrics into the custom font directory when missing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$defaultCourier&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defaultFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/core/courier.json&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$customCourier&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/courier.json&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (\is_file(&lt;span style="color:#79c0ff"&gt;$defaultCourier&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_file(&lt;span style="color:#79c0ff"&gt;$customCourier&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;@&lt;/span&gt;\copy(&lt;span style="color:#79c0ff"&gt;$defaultCourier&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$customCourier&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fontsRoot&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;||&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$defaultFontsDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$customFontsReal&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fontsRoot&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 072&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import and Use a New Font&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf font import custom ttf otf noto sans&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;072_import_new_font.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$manualFontFamily&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$manualInstructions&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$manualFontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Manual conversion and import commands:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$manualFontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Run these commands from the project root:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;pre style=&amp;#34;color:darkgreen;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$manualFontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;; font-size: 9pt; line-height: 1.35;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mkdir -p target/fonts/source target/fonts/custom&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;curl -fL --retry 3 -o target/fonts/source/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoUrl&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;php vendor/tecnickcom/tc-lib-pdf-font/util/convert.php \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; --outpath=target/fonts/custom \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; --type=TrueTypeUnicode \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; --flags=32 \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; --encoding_id=10 \\&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; --fonts=target/fonts/source/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$manualFontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Then run this example again; it will load the generated &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;target/fonts/custom/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.json.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;Font Setup Failed&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;The example could not download or convert Noto Sans automatically.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontSetupError&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;If the environment is offline, run once with internet access or pre-populate:&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: helvetica;&amp;#34;&amp;gt;target/fonts/source/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; and target/fonts/custom/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.json.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$manualInstructions&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$notoFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 3) Start the PDF page and render content using the imported font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$notoFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1 style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Custom Font Imported Automatically&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Downloaded from: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoUrl&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Converted source: target/fonts/source/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$notoFileName&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;Imported family: &amp;lt;b&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \htmlspecialchars(&lt;span style="color:#79c0ff"&gt;$fontFamily&lt;/span&gt;, ENT_QUOTES)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;; font-size: 16pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The quick brown fox jumps over the lazy dog. 0123456789&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;hr/&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$manualInstructions&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E073 : css supported categories</title><link>https://tcpdf.org/examples/E073_css_supported_categories/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E073_css_supported_categories/</guid><description>&lt;p&gt;The supported &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; categories, enumerated in the source and rendered by the engine itself, including the global stylesheet set through setGlobalCSS().&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E073_css_supported_categories.pdf"&gt;E073_css_supported_categories.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E073_css_supported_categories.phps"&gt;E073_css_supported_categories.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E073_css_supported_categories.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E073_css_supported_categories.webp" alt="Page 1 of E073_css_supported_categories.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E073_css_supported_categories.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates the major CSS feature categories supported by tc-lib-pdf,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * including table/float/clear interaction, CSS shorthand inherit propagation,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * fieldset and inline-block element styling, overflow-wrap, complex&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * CSS selector combinators, and a global base stylesheet registered once via&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * setGlobalCSS() and injected into every HTML rendering call.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-08&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 073&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CSS Supported Categories&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example CSS&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;073_css_supported_categories.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The HTML continues from the top margin on the pages added by page breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; @media all {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; body { font-family: helvetica; font-size: 10pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .panel { margin: 2mm 0; padding: 2mm; border: 0.3mm solid #333; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Cascade and source order */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .cascade-color { color: #cc0000; border: 0.3mm solid #888; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .cascade-color { color: #0055aa; border: 0.6mm dashed #0055aa; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Selectors */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; #selectors li:first-child { color: #0a7a0a; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; #selectors li:last-child { color: #aa2222; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; #selectors a[href^=&amp;#34;https&amp;#34;] { text-decoration: underline; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; [role~=&amp;#34;chip&amp;#34;] { background-color: #efefef; padding: 1mm; border: 0.2mm solid #888; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Box and typography */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .box { margin: 1mm; padding: 2mm; border: 0.3mm solid #000; width: 60mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .typo { line-height: 150%; text-transform: capitalize; letter-spacing: 0.15mm; word-spacing: 0.25mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Floats / clear / position */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .float-left { float: left; width: 35mm; border: 0.3mm solid #000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .float-right { float: right; width: 35mm; border: 0.3mm solid #000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .clear-both { clear: both; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pos-rel { position: relative; left: 2mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Tables */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tbl-fixed { width: 90mm; table-layout: fixed; border-collapse: collapse; border: 0.3mm solid #000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tbl-auto { width: 90mm; table-layout: auto; border-collapse: separate; border-spacing: 1mm 0.5mm; border: 0.3mm solid #000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tbl-fixed td, .tbl-auto td { border: 0.2mm solid #333; padding: 1mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Paged media */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .page-break { page-break-before: always; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .avoid-break { page-break-inside: avoid; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; @media print {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .print-only { font-weight: bold; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;CSS Supported Categories Showcase&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This document provides one consolidated example of major CSS categories currently supported by tc-lib-pdf.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;1) Cascade and source order&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel cascade-color&amp;#34;&amp;gt;This text is resolved through cascade with later source-order override.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;2) Selectors (attribute + pseudo-class subset)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div id=&amp;#34;selectors&amp;#34; class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;First item styled by :first-child&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Middle item&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Last item styled by :last-child&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://example.com&amp;#34;&amp;gt;Link with href^ selector&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span role=&amp;#34;tag chip&amp;#34;&amp;gt;Attribute selector [role~=chip]&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;3) Box model and typography&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;box typo&amp;#34;&amp;gt;box-model sample with margin, padding, border, width, line-height, text-transform, letter-spacing and word-spacing.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;4) Float, clear, and position&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel avoid-break&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;float-left&amp;#34;&amp;gt;FLOAT LEFT&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;float-right&amp;#34;&amp;gt;FLOAT RIGHT&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;clear-both pos-rel&amp;#34;&amp;gt;Clear-both block with relative offset.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;5) Table layout and borders&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;tbl-fixed&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td width=&amp;#34;25%&amp;#34;&amp;gt;Fixed A&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;75%&amp;#34;&amp;gt;Fixed B with longer content&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;tbl-auto&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Auto A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Auto B with longer content&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;6) Paged media aliases and print media&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;panel print-only&amp;#34;&amp;gt;This block is inside @media print and uses page-break-before for explicit pagination.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;End of CSS category showcase.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;7) Table, Float, and Clear Interaction&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Two floated KPI boxes followed by a clear:both div and a full-width table.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The table begins below the floats at full available width.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-box { float: left; width: 44%; margin-right: 4%; padding: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #9db0c1; background: #f4f8fb; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-box h3 { margin: 0 0 2pt 0; font-size: 10pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-clear { clear: both; height: 0; line-height: 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-table { width: 100%; border-collapse: collapse; margin-top: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-table th, .kpi-table td { border: 0.4pt solid #95a8ba; padding: 2pt; font-size: 9pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .kpi-table th { background: #e4edf5; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;kpi-box&amp;#34;&amp;gt;&amp;lt;h3&amp;gt;Uptime&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;#34;margin:0;&amp;#34;&amp;gt;99.92%&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;kpi-box&amp;#34;&amp;gt;&amp;lt;h3&amp;gt;Alerts&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;#34;margin:0;&amp;#34;&amp;gt;17 open, 4 critical&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;kpi-clear&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;kpi-table&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Service&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Latency P95&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Error Rate&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Status&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Gateway&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;238ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.4%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Degraded&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Billing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;122ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.1%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Healthy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;8) CSS Shorthand inherit Keyword&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Shorthand properties (margin, padding, border, background, list-style)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; propagate the inherit keyword to each decomposed longhand.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inherit-parent { margin: 3pt; padding: 4pt; border: 0.4pt solid #336699;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #eef3fb; color: #1a3558; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inherit-child-margin { margin: inherit; background: #ddeeff; padding: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inherit-child-padding { padding: inherit; border: inherit; background: #d4f0d4; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inherit-list-parent { list-style: disc inside; color: #553300; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inherit-list-child { list-style: inherit; margin-left: 5mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inherit-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Parent: margin 3pt, padding 4pt, border blue, background #eef3fb.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inherit-child-margin&amp;#34;&amp;gt;Child with margin:inherit — same outer spacing as parent.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inherit-child-padding&amp;#34;&amp;gt;Child with padding:inherit and border:inherit — matches parent box insets.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;inherit-list-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Parent list (disc, inside)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;ul class=&amp;#34;inherit-list-child&amp;#34;&amp;gt;&amp;lt;li&amp;gt;Child with list-style:inherit — disc inside preserved.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;9) Fieldset, Legend, and Inline-Block Styling&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Structural styles on fieldset-like containers, legend labels, and inline-block spans.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Note: interactive pseudo-states (:hover, :focus) are not applicable in static PDF output.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo-fieldset { border: 0.4pt solid #9ea7b3; margin: 0 0 4pt 0; padding: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo-legend { font-weight: bold; font-size: 9pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo-label { display: inline-block; width: 80pt; font-weight: bold; color: #333; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo-input { display: inline-block; border: 0.4pt solid #b9c1cb; padding: 1pt 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 160pt; background: #fafbfc; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .demo-help { color: #53606f; font-size: 8pt; margin-top: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;demo-fieldset&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;demo-legend&amp;#34;&amp;gt;Account Details&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&amp;lt;span class=&amp;#34;demo-label&amp;#34;&amp;gt;Full name&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#34;demo-input&amp;#34;&amp;gt;Jane Example&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&amp;lt;span class=&amp;#34;demo-label&amp;#34;&amp;gt;Email&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#34;demo-input&amp;#34;&amp;gt;jane@example.test&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;demo-help&amp;#34;&amp;gt;Note: interactive states (:focus, :hover) are not applicable to static PDF output.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;10) Overflow-Wrap and Complex Selector Combinators&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Long unbreakable words in narrow containers with overflow-wrap; child (&amp;amp;gt;), adjacent (+), and general sibling (~) combinators.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .overflow-box { width: 70mm; border: 0.4pt solid #aaa; padding: 2pt; overflow-wrap: break-word; word-break: break-word; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .combo-parent &amp;gt; p { color: #004488; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .combo-parent &amp;gt; p + span { font-style: italic; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .combo-parent &amp;gt; p ~ span { text-decoration: underline; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;overflow-box&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Shortword and &amp;lt;code&amp;gt;verylongunbreakableidentifier_thatcouldcauseoverflowInNarrowColumns&amp;lt;/code&amp;gt; handled.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;combo-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Direct child paragraph (color #004488 via &amp;amp;gt; combinator).&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span&amp;gt;Adjacent sibling span (italic via p + span).&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span&amp;gt;General sibling span (underline via p ~ span).&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;11) Admin Float + Table Clearance&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The table top border must start below the dotted guide and below both KPI cards, without touching or overlapping card borders.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-wrap { border: 0.4pt solid #a6b3bf; padding: 6pt; background: #fbfcfd; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-kpi { float: left; width: 48%; margin-right: 2%; padding: 6pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.5pt solid #9db0c1; background: #f4f8fb; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-kpi-last { margin-right: 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-kpi h3 { margin: 0 0 4pt 0; font-size: 11pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-clear { clear: both; height: 0; line-height: 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-guide { margin-top: 4pt; border-top: 0.6pt dotted #d66; color: #a33; font-size: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-table { width: 100%; border-collapse: collapse; margin-top: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-table th, .tracker-table td { border: 0.5pt solid #95a8ba; padding: 3pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .tracker-table th { background: #e4edf5; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;tracker-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;tracker-kpi&amp;#34;&amp;gt;&amp;lt;h3&amp;gt;Uptime&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;#34;margin:0;&amp;#34;&amp;gt;99.92% this month&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;tracker-kpi tracker-kpi-last&amp;#34;&amp;gt;&amp;lt;h3&amp;gt;Alerts&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;#34;margin:0;&amp;#34;&amp;gt;17 open, 4 critical&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;tracker-clear&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;tracker-guide&amp;#34;&amp;gt;Guide: table must begin below this line.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;tracker-table&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Service&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Latency P95&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Error Rate&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Status&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Gateway&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;238ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.4%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Degraded&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Billing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;122ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.1%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Healthy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Notifications&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;305ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.8%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Warning&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Search&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;188ms&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;0.2%&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Healthy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;12) Font Shorthand Parsing and Inherit&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section showcases the newly added support for mapping CSS &amp;lt;code&amp;gt;font&amp;lt;/code&amp;gt; shorthand&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; to longhands and propagating &amp;lt;code&amp;gt;font: inherit&amp;lt;/code&amp;gt; to child elements.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-demo-wrap { border: 0.4pt solid #9aa6b2; padding: 6pt; background: #fbfcff; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-explicit {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font: italic 700 14pt/1.5 &amp;#34;Times New Roman&amp;#34;, serif;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #1f3d5a;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 5pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-explicit code {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font: normal 400 9pt/1.2 courier;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #5b2d00;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-inherit-parent {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font: oblique 600 12pt/1.4 helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f0f6fb;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #9db4c9;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 4pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 5pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-inherit-child {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font: inherit;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt dashed #aac0d5;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-top: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .font-shorthand-plus-longhand {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font: italic 700 13pt/1.4 &amp;#34;Times New Roman&amp;#34;, serif;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-style: normal;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #c2c2c2;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;font-demo-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;font-explicit&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Explicit shorthand: &amp;lt;strong&amp;gt;italic + bold + 14pt + line-height 1.5 + Times family&amp;lt;/strong&amp;gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;font: italic 700 14pt/1.5 &amp;#34;Times New Roman&amp;#34;, serif;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;font-inherit-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Parent uses shorthand font definition (oblique, semi-bold, 12pt, line-height 1.4).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;font-inherit-child&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Child uses &amp;lt;code&amp;gt;font: inherit&amp;lt;/code&amp;gt; and should visually match the parent font settings.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;font-shorthand-plus-longhand&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Shorthand + explicit longhand override: italic from shorthand is overridden by&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;font-style: normal&amp;lt;/code&amp;gt;, while weight/size/family from shorthand remain.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;13) Form Control CSS to Widget Mapping&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section demonstrates static style mapping from CSS to AcroForm widgets:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background color, border color/width/style, and text alignment.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-grid { border: 0.4pt solid #b0bac6; background: #f8fafc; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-row { margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-label { display: inline-block; width: 95pt; font-weight: bold; color: #34495e; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ctl-text {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 180pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt dashed #3a6ea5;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #eaf3ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #123d66;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; text-align: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ctl-number {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 120pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #6a8f44;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f2faea;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #2e4f1d;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ctl-select {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 180pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #8e44ad;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f6ebfb;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #4c1f61;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ctl-textarea {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 180pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #c57b1d;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #fff7e8;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #6f3d00;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ctl-button {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 95pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #7f8c8d;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #eef1f2;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #2f3a3b;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-grid&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;form-label&amp;#34;&amp;gt;Styled text input&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input class=&amp;#34;ctl-text&amp;#34; type=&amp;#34;text&amp;#34; name=&amp;#34;demo_text&amp;#34; value=&amp;#34;Centered text&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;form-label&amp;#34;&amp;gt;Styled number input&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input class=&amp;#34;ctl-number&amp;#34; type=&amp;#34;number&amp;#34; name=&amp;#34;demo_num&amp;#34; value=&amp;#34;12345&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;form-label&amp;#34;&amp;gt;Styled select&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;select class=&amp;#34;ctl-select&amp;#34; name=&amp;#34;demo_plan&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;starter&amp;#34;&amp;gt;Starter&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;pro&amp;#34; selected=&amp;#34;selected&amp;#34;&amp;gt;Professional&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;option value=&amp;#34;ent&amp;#34;&amp;gt;Enterprise&amp;lt;/option&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/select&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;form-label&amp;#34;&amp;gt;Styled textarea&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;textarea class=&amp;#34;ctl-textarea&amp;#34; name=&amp;#34;demo_notes&amp;#34; rows=&amp;#34;3&amp;#34; cols=&amp;#34;26&amp;#34;&amp;gt;Multiline notes example&amp;lt;/textarea&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;form-label&amp;#34;&amp;gt;Styled button&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input class=&amp;#34;ctl-button&amp;#34; type=&amp;#34;button&amp;#34; name=&amp;#34;demo_btn&amp;#34; value=&amp;#34;Action&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;14) Shorthand Normalization Edge Cases&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section tests shorthand CSS normalization patterns that occur in real-world documents,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; ensuring margin, padding, border and background properties are properly expanded to longhands.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .edge-case { margin: 3mm 0 3mm 0; padding: 2mm; border: 0.3mm solid #333; margin-bottom: 2mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .edge-single { margin: 0; padding: 3pt; border: 0.2mm dotted #666; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .edge-four-value { margin-top: 2pt; margin-right: 4pt; margin-bottom: 2pt; margin-left: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .edge-border-shorthand { border: 0.5pt solid #999; padding: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .edge-background-single { background: #f0f0f0; padding: 3pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;edge-case&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case 1: Four-value margin&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;margin: 3mm 0 3mm 0;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This should expand to T=3mm, R=0, B=3mm, L=0. The box should have vertical margins but no horizontal margins.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;edge-single&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case 2: Single-value shorthand&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;margin: 0; padding: 3pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; All sides should be 0 for margin, 3pt for padding.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;edge-four-value&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case 3: Individual longhand properties&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;margin-top: 2pt; margin-right: 4pt; margin-bottom: 2pt; margin-left: 4pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Should render with alternating 2pt/4pt margins (simulating different rhythms).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;edge-border-shorthand&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case 4: Border shorthand expansion&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border: 0.5pt solid #999; padding: 4pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; All four border sides should be solid, 0.5pt width, #999 color. Padding should be 4pt on all sides.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;edge-background-single&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case 5: Single-value background&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: #f0f0f0;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Background color should be light gray across the entire box.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;15) Invoice-Style Shorthand Patterns&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section replicates the CSS patterns from the real-world invoice_statement test case to verify&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that all shorthand normalization edge cases render correctly.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-header { border-bottom: 1pt solid #444; margin-bottom: 8pt; padding-bottom: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-meta { float: right; text-align: right; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-clear { clear: both; height: 0; line-height: 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-table { width: 100%; border-collapse: collapse; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-table th, .inv-table td { border: 0.5pt solid #999; padding: 4pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .inv-total { font-weight: bold; background: #f0f0f0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inv-header&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inv-meta&amp;#34;&amp;gt;Invoice #INV-2048&amp;lt;br/&amp;gt;Date: 2026-05-10&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3 style=&amp;#34;margin: 0; font-size: 12pt;&amp;#34;&amp;gt;Blue Finch Supply&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin: 2pt 0 0 0;&amp;#34;&amp;gt;Monthly service statement&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;inv-clear&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;inv-table&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Unit Price&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Monitoring subscription&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;49.00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;49.00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Priority support&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;15.00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;30.00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr class=&amp;#34;inv-total&amp;#34;&amp;gt;&amp;lt;td colspan=&amp;#34;3&amp;#34;&amp;gt;Total&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;79.00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin-top: 4pt; font-size: 9pt; color: #666;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual targets: header separator, float-right metadata, clear-both handoff before table,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; collapsed table borders, total-row shorthand background, plus margin/padding shorthand values.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;16) Non-Font Shorthand Expansion Checks&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section isolates non-font shorthand properties that can be normalized conservatively in invoice-like pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; It helps visually verify border-color/style/width and background shorthands without engine workarounds.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-grid { border: 0.4pt solid #a8b3be; padding: 5pt; background: #fbfdff; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-case { margin-bottom: 6pt; padding: 4pt; border: 0.4pt solid #aab5c2; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-border-color {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-style: solid;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-width: 1pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-color: #cc0000 #0077cc #228b22 #a35f00;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-border-style {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-width: 1pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-style: dotted dashed solid double;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-color: #666;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-border-width {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-style: solid;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-width: 0.5pt 1.2pt 2pt 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-color: #444;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-border-mixed {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-top: 2pt solid #004f9f;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-right: 1pt dashed #2f8f2f;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-bottom: 1.5pt dotted #9c3f00;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left: 0.7pt solid #555;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f6f8fa;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-bg-hex { background: #f0f0f0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf-bg-name { background: silver; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-grid&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-border-color&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case A: border-color 4-values&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-color: #cc0000 #0077cc #228b22 #a35f00;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Top/right/bottom/left borders should show distinct colors.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-border-style&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case B: border-style 4-values&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-style: dotted dashed solid double;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Border pattern should vary by side.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-border-width&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case C: border-width 4-values&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-width: 0.5pt 1.2pt 2pt 3pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Border thickness should visibly differ by side.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-border-mixed&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case D: per-side border shorthand&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-top/right/bottom/left: ...&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Each side should preserve its own width/style/color tuple.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-bg-hex&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case E: background shorthand (hex color)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: #f0f0f0;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Block should render with a light gray fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf-case nf-bg-name&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case F: background shorthand (named color)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: silver;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Block should render with named color fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;17) Non-Font Shorthand Stress Cases&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section focuses on shorthand combinations that are often normalized conservatively in static PDF renderers.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The primary target here is complex &amp;lt;code&amp;gt;background&amp;lt;/code&amp;gt; shorthand token ordering and mixed token sets.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-wrap { border: 0.4pt solid #9fb0be; padding: 5pt; background: #fcfdff; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-case { margin-bottom: 6pt; padding: 4pt; border: 0.4pt solid #a6b2bf; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-bg-order-a { background: #e8f2ff no-repeat left top; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-bg-order-b { background: no-repeat right top #ffeedd; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-bg-order-c { background: left bottom #eaf9ea no-repeat; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-bg-with-image-token { background: #f5eefc url(&amp;#34;missing-resource.png&amp;#34;) no-repeat center top; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-bg-transparent { background: transparent; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-margin-pad-a { margin: 2pt 8pt; padding: 1pt 3pt 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .nf2-margin-pad-b { margin: 4pt 2pt 1pt; padding: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-bg-order-a&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case A: background order (color first)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: #e8f2ff no-repeat left top;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expect light blue fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-bg-order-b&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case B: background order (color last)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: no-repeat right top #ffeedd;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expect peach fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-bg-order-c&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case C: background order (position first)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: left bottom #eaf9ea no-repeat;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expect pale green fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-bg-with-image-token&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case D: background with image token&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: #f5eefc url(&amp;#34;missing-resource.png&amp;#34;) no-repeat center top;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Even if image token is ignored, fallback lavender color should still fill the block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-bg-transparent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case E: transparent background&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: transparent;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Should not paint an opaque fill.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-margin-pad-a&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case F: mixed margin/padding shorthand (2 + 3 values)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;margin: 2pt 8pt; padding: 1pt 3pt 5pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Horizontal margins should be wider than vertical, with asymmetric bottom padding.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;nf2-case nf2-margin-pad-b&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case G: mixed margin/padding shorthand (3 + 1 values)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;margin: 4pt 2pt 1pt; padding: 2pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Top margin should be largest; padding should be uniform.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;18) Shorthand vs Longhand Override Order&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section checks cascade order interactions where shorthand and matching longhands appear&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; in different declaration orders. Later declarations should win.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-wrap { border: 0.4pt solid #9eacb8; padding: 5pt; background: #fcfdff; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-case { margin-bottom: 6pt; padding: 4pt; border: 0.4pt solid #a9b5c1; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-bg-longhand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #ddeeff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #ffe6e6;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-bg-shorthand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background-color: #ffe6e6;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #ddeeff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-border-width-longhand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.6pt solid #446;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left-width: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-border-width-shorthand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left-width: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.6pt solid #446;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-border-color-longhand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #999;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-right-color: #cc0000;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ord-border-color-shorthand-wins {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-right-color: #cc0000;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.8pt solid #999;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-bg-longhand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case A: background then background-color&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background: #ddeeff; background-color: #ffe6e6;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expected fill: pink (#ffe6e6).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-bg-shorthand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case B: background-color then background&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;background-color: #ffe6e6; background: #ddeeff;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expected fill: light blue (#ddeeff).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-border-width-longhand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case C: border then border-left-width&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border: 0.6pt solid #446; border-left-width: 3pt;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Left border should be much thicker than other sides.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-border-width-shorthand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case D: border-left-width then border&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-left-width: 3pt; border: 0.6pt solid #446;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Left border should revert to same thickness as other sides.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-border-color-longhand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case E: border then border-right-color&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border: 0.8pt solid #999; border-right-color: #cc0000;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Right border should be red; other sides gray.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ord-case ord-border-color-shorthand-wins&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Case F: border-right-color then border&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;border-right-color: #cc0000; border: 0.8pt solid #999;&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; All sides should be gray (right red override should be overwritten).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;19) Form Controls - Interactive State Approximations&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section demonstrates static PDF approximations of form control interactive states.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Since PDF is a static format, we approximate :hover, :focus, :active using inline styling conventions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (border widening, background shifts, etc.).&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo { border: 0.4pt solid #bbb; padding: 6pt; background: #fafafa; margin: 4pt 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo input,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo textarea,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo select,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo button {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 9pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.3pt solid #999;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 2pt 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 2pt 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: white;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-demo button {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #e8e8e8;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.3pt solid #666;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Unfocused state (default) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-unfocused {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.3pt solid #ccc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: white;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Focused state (approximated with darker border + subtle background shift) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-focused {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #0066cc;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f0f5ff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Hover state (for buttons: lighter background, no change to border) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-hover {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #d9d9d9;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.3pt solid #666;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Active/pressed state (for buttons: darker background, slightly thicker border) */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-active {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #c0c0c0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #333;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Disabled state */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .form-disabled {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #efefef;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; color: #999;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.3pt solid #ddd;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Text Input States&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Unfocused:&amp;lt;/strong&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; class=&amp;#34;form-unfocused&amp;#34; value=&amp;#34;unfocused input&amp;#34; /&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Focused (approximated):&amp;lt;/strong&amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; class=&amp;#34;form-focused&amp;#34; value=&amp;#34;focused input&amp;#34; /&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Textarea States&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Unfocused:&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;textarea class=&amp;#34;form-unfocused&amp;#34;&amp;gt;unfocused textarea with default border&amp;lt;/textarea&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Focused (approximated):&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;textarea class=&amp;#34;form-focused&amp;#34;&amp;gt;focused textarea with blue border and light blue background&amp;lt;/textarea&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Button States&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;button class=&amp;#34;form-unfocused&amp;#34;&amp;gt;Default Button&amp;lt;/button&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;button class=&amp;#34;form-hover&amp;#34;&amp;gt;Hover Button&amp;lt;/button&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;button class=&amp;#34;form-active&amp;#34;&amp;gt;Active Button&amp;lt;/button&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;button class=&amp;#34;form-disabled&amp;#34;&amp;gt;Disabled Button&amp;lt;/button&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;form-demo&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong&amp;gt;Select States&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Unfocused:&amp;lt;/strong&amp;gt; &amp;lt;select class=&amp;#34;form-unfocused&amp;#34;&amp;gt;&amp;lt;option&amp;gt;Option 1&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Option 2&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Focused (approximated):&amp;lt;/strong&amp;gt; &amp;lt;select class=&amp;#34;form-focused&amp;#34;&amp;gt;&amp;lt;option&amp;gt;Option 1&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Option 2&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size: 8pt; color: #666; margin-top: 4pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Note:&amp;lt;/em&amp;gt; PDF is a static format and cannot render true interactive states (:hover, :focus, :active).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; This section demonstrates recommended visual conventions for approximating these states in static output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Color shifts (blue border for focus, darker gray for hover/active) provide visual cues to users&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; that static widget styling is supported, while full interactivity remains a PDF viewer responsibility.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;20) Pseudo-Class Selector Mapping (Engine Validation)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section validates selector-based mapping for interactive/state pseudo-classes in static output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Expected: the following pseudo selectors are matched by the engine for supported targets:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;:hover&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;:focus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;:active&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;:visited&amp;lt;/code&amp;gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;:enabled&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;:disabled&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;:checked&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #aeb7c2;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f9fbfd;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 6pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 4pt 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map .row {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin-bottom: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map .lbl {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; display: inline-block;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 120pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-weight: bold;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map button,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map select,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map a {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-family: helvetica;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 9pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Validate interactive pseudo-class selectors on controls/links */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input.v-hover:hover { border: 0.4pt solid #b25a00; background: #fff0df; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input.v-focus:focus { border: 0.4pt solid #005ec4; background: #eaf2ff; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map button.v-active:active { border: 0.5pt solid #444; background: #cfcfcf; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map a.v-visited:visited { color: #663399; text-decoration: underline; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Validate state pseudo-class selectors */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input:enabled { border: 0.35pt solid #2f7d32; background: #edf9ed; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input:disabled { border: 0.35pt solid #9b9b9b; background: #eeeeee; color: #8c8c8c; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .state-map input:checked { outline: 0.45pt solid #0f5fb6; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;state-map&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:hover selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;text&amp;#34; class=&amp;#34;v-hover&amp;#34; value=&amp;#34;input.v-hover:hover rule&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:focus selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;text&amp;#34; class=&amp;#34;v-focus&amp;#34; value=&amp;#34;input.v-focus:focus rule&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:active selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;button class=&amp;#34;v-active&amp;#34; type=&amp;#34;button&amp;#34; value=&amp;#34;button.v-active:active rule&amp;#34;&amp;gt;button.v-active:active rule&amp;lt;/button&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:visited selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;a class=&amp;#34;v-visited&amp;#34; href=&amp;#34;https://example.com/visited&amp;#34;&amp;gt;a.v-visited:visited rule&amp;lt;/a&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:enabled selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;text&amp;#34; value=&amp;#34;input:enabled rule&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:disabled selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;text&amp;#34; value=&amp;#34;input:disabled rule&amp;#34; disabled=&amp;#34;disabled&amp;#34; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;lbl&amp;#34;&amp;gt;:checked selector&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;input type=&amp;#34;checkbox&amp;#34; checked=&amp;#34;checked&amp;#34; value=&amp;#34;1&amp;#34; /&amp;gt; checked checkbox should show checked styling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size: 8pt; color: #666; margin-top: 4pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Validation hint:&amp;lt;/em&amp;gt; if this section shows style differences per row,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the pseudo-class selector mapping logic is active in the rendering engine.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;21) Narrow-Column Long-Token Overflow&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The fixture uses a &amp;lt;code&amp;gt;.note&amp;lt;/code&amp;gt; callout box&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (left border + tinted background) containing an inline &amp;lt;code&amp;gt;&amp;amp;lt;code&amp;amp;gt;&amp;lt;/code&amp;gt; token with no natural&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; break points. Three variants are shown side by side.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Reproduce fixture styles exactly */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-article { font-family: helvetica; font-size: 11pt; line-height: 1.4; color: #1a1a1a; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-note {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #f4f7fb;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border-left: 3pt solid #2f5a8a;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 6pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 8pt 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-note code { background: #efefef; padding: 1pt 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Column wrapper for side-by-side comparison */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-cols { border: 0.4pt solid #b0bbc8; background: #f8f9fb; padding: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-col {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 55mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #c8d0da;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #fff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 3pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 3pt 3pt 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; display: inline-block;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; vertical-align: top;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 9pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-col h4 { margin: 0 0 2pt 0; font-size: 8.5pt; color: #2f5a8a; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* The fix under test */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ovf-fix-wrap { overflow-wrap: break-word; word-break: break-word; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-cols&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-col&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h4&amp;gt;A) Fixture replica (no fix)&amp;lt;/h4&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-article&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;ovf-note&amp;#34;&amp;gt;Known caveat:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;very_very_very_very_very_very_very_long_tokens_without_breaks&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; can exceed narrow columns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-col&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h4&amp;gt;B) With overflow-wrap on note&amp;lt;/h4&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-article&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;ovf-note ovf-fix-wrap&amp;#34;&amp;gt;Known caveat:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;very_very_very_very_very_very_very_long_tokens_without_breaks&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; can exceed narrow columns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-col&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h4&amp;gt;C) With overflow-wrap on code&amp;lt;/h4&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ovf-article&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;ovf-note&amp;#34;&amp;gt;Known caveat:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code style=&amp;#34;overflow-wrap: break-word; word-break: break-word;&amp;#34;&amp;gt;very_very_very_very_very_very_very_long_tokens_without_breaks&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; can exceed narrow columns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size: 8pt; color: #666; margin-top: 3pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Validation hints:&amp;lt;/em&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; A = current engine output (may overflow right border) |&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; B = fix applied at paragraph level |&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; C = fix applied at inline element level.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; If A and B/C look identical (no overflow visible), the issue may not be worth fixing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; If A overflows the border, B and C should demonstrate the fix working.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;22) Complex Selector Coverage (Validated)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This section exercises complex CSS selector combinations.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Selectors in the &amp;lt;em&amp;gt;Supported&amp;lt;/em&amp;gt; column should apply styling visibly.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Selectors in the &amp;lt;em&amp;gt;Extended coverage&amp;lt;/em&amp;gt; column should also apply styling visibly.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Fixture layout replica */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pdoc-hero { background: #eaf2fb; padding: 10pt; border: 0.5pt solid #b7c8dc; margin-bottom: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pdoc-card { border: 0.5pt solid #bfcbd8; padding: 6pt; margin-bottom: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pdoc-kv td { padding: 2pt 4pt; border-bottom: 0.5pt solid #d2d8e0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Selector test wrapper */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-grid { border: 0.4pt solid #b0bbc8; background: #f8f9fb; padding: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col {&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; width: 82mm;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; border: 0.4pt solid #c8d0da;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; background: #fff;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; padding: 4pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; margin: 0 3pt 3pt 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; display: inline-block;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; vertical-align: top;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; font-size: 9pt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col h4 { margin: 0 0 4pt 0; font-size: 8.5pt; color: #2f5a8a; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-item { margin: 2pt 0; padding: 2pt 3pt; background: #f4f4f4; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-hit { background: #d4f0d4; color: #1a4d1a; } /* expected to be styled */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* --- Supported selectors --- */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* :first-child / :last-child */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-list li:first-child { background: #cce5ff; color: #00326d; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-list li:last-child { background: #ffd6d6; color: #6d0000; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Attribute selector [attr^=value] */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col [data-env^=&amp;#34;prod&amp;#34;] { font-weight: bold; color: #1a4d00; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Child combinator &amp;gt; */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-parent &amp;gt; .sel-direct { border-left: 2pt solid #0077cc; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Adjacent sibling + */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-adj-trigger + .sel-adj-target { color: #8b3a00; font-style: italic; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* General sibling ~ */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-sib-trigger ~ .sel-sib-target { text-decoration: underline; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* --- Extended selector coverage --- */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* :nth-child() */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-list-nth li:nth-child(2) { background: #ffe8a0; color: #5a3a00; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* :nth-of-type() */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col p:nth-of-type(2) { color: #6600aa; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* :not() with compound argument */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-item:not(.sel-hit) { opacity: 0.55; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; /* Descendant + class + pseudo compound */&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-col .sel-parent .sel-child:first-child { color: #cc0000; font-weight: bold; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pdoc-hero&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3 style=&amp;#34;margin:0 0 3pt 0; font-size:12pt;&amp;#34;&amp;gt;API Documentation Bundle&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:0; font-size:9pt;&amp;#34;&amp;gt;Fixture replica — product-style landing section.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pdoc-card&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;Quick Start:&amp;lt;/strong&amp;gt; Install, configure, and run your first export.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pdoc-card&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;Compatibility:&amp;lt;/strong&amp;gt; CSS 2.1 print-safe subset with documented partials.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table class=&amp;#34;pdoc-kv&amp;#34; style=&amp;#34;width:100%;border-collapse:collapse;margin-bottom:8pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Package&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;tc-lib-pdf&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Runtime&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;PHP 8.2+&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-grid&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-col&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h4&amp;gt;Supported selectors&amp;lt;/h4&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;:first-child / :last-child on li&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;sel-list&amp;#34; style=&amp;#34;margin:2pt 0 5pt 10pt; padding:0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1 (blue = :first-child)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 2 (unstyled)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3 (red = :last-child)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;[data-env^=&amp;#34;prod&amp;#34;] attribute&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-item&amp;#34; data-env=&amp;#34;production&amp;#34;&amp;gt;data-env=&amp;#34;production&amp;#34; (bold green expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-item&amp;#34; data-env=&amp;#34;staging&amp;#34;&amp;gt;data-env=&amp;#34;staging&amp;#34; (unstyled)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Child combinator &amp;amp;gt;&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-direct sel-item&amp;#34;&amp;gt;Direct child (blue left border expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div&amp;gt;&amp;lt;div class=&amp;#34;sel-direct sel-item&amp;#34;&amp;gt;Nested (not direct — no extra border)&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Adjacent sibling +&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-adj-trigger sel-item&amp;#34;&amp;gt;Trigger&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-adj-target sel-item&amp;#34;&amp;gt;Adjacent target (italic orange expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-adj-target sel-item&amp;#34;&amp;gt;Second sibling (no italic — not adjacent)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;General sibling ~&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-sib-trigger sel-item&amp;#34;&amp;gt;Trigger&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-sib-target sel-item&amp;#34;&amp;gt;Sibling 1 (underline expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-sib-target sel-item&amp;#34;&amp;gt;Sibling 2 (underline expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-col&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h4&amp;gt;Extended selector coverage&amp;lt;/h4&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;:nth-child(2)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul class=&amp;#34;sel-list-nth&amp;#34; style=&amp;#34;margin:2pt 0 5pt 10pt; padding:0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 1&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 2 (yellow highlight expected)&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Item 3&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;p:nth-of-type(2)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:1pt 0;&amp;#34;&amp;gt;Paragraph 1 (unstyled)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:1pt 0;&amp;#34;&amp;gt;Paragraph 2 (purple expected)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:1pt 0;&amp;#34;&amp;gt;Paragraph 3 (unstyled)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;:not(.sel-hit)&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-item&amp;#34;&amp;gt;Non-hit item (dimmed expected via :not)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-item sel-hit&amp;#34;&amp;gt;Hit item (green fill from .sel-hit)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Descendant + class + :first-child compound&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-parent&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-child sel-item&amp;#34;&amp;gt;Child 1 (red+bold expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-child sel-item&amp;#34;&amp;gt;Child 2 (unstyled)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size: 8pt; color: #666; margin-top: 3pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Validation hints (left column):&amp;lt;/em&amp;gt; blue/red list items, bold green attribute row, blue-left-border&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; direct child, italic-orange adjacent sibling, underlined general siblings should all be visible.&amp;lt;br/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;em&amp;gt;Validation hints (right column):&amp;lt;/em&amp;gt; yellow &amp;lt;code&amp;gt;:nth-child(2)&amp;lt;/code&amp;gt; list item, purple&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;p:nth-of-type(2)&amp;lt;/code&amp;gt;, dimmed non-hit item via &amp;lt;code&amp;gt;:not(.sel-hit)&amp;lt;/code&amp;gt;, and red+bold first&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; child in the compound selector block should all be visible.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;Rules that also match an ancestor&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-anc td &amp;gt; * { font-size: 7pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-anc .anc-large { font-size: 12pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-anc .anc-big { font-size: 120%; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .sel-anc .anc-box { margin-left: 5mm; border-left: 1pt solid #2f5a8a; padding-left: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;sel-anc&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;width:100%;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#34;anc-large&amp;#34;&amp;gt;&amp;lt;div class=&amp;#34;anc-large&amp;#34;&amp;gt;Child of a matching cell (12pt expected, not 7pt)&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p class=&amp;#34;anc-large&amp;#34; style=&amp;#34;margin:1pt 0;&amp;#34;&amp;gt;Reference paragraph (12pt)&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;font-size:8pt;&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;anc-big&amp;#34;&amp;gt;8pt x 1.2 = 9.6pt &amp;lt;span class=&amp;#34;anc-big&amp;#34;&amp;gt;x 1.2 = 11.52pt&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;anc-big&amp;#34;&amp;gt;x 1.2 = 13.82pt&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;anc-box&amp;#34;&amp;gt;Box level 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;anc-box&amp;#34;&amp;gt;Box level 2 (indented again expected)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;anc-box&amp;#34;&amp;gt;Box level 3 (indented again expected)&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;23) User Interface &amp;amp; Typography Properties&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;font-size-adjust&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example for &amp;lt;code&amp;gt;font-size-adjust&amp;lt;/code&amp;gt; with numeric and keyword values.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .p6-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .p6-row { border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .p6-label { font-size: 8pt; color: #56616f; margin-bottom: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fsa-none { font-size: 13pt; font-size-adjust: none; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fsa-mid { font-size: 13pt; font-size-adjust: 0.58; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fsa-high { font-size: 13pt; font-size-adjust: 0.72; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-row fsa-none&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-label&amp;#34;&amp;gt;font-size-adjust: none&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Hamburgfonstiv 0123456789 - baseline sample for visual comparison.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-row fsa-mid&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-label&amp;#34;&amp;gt;font-size-adjust: 0.58&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Hamburgfonstiv 0123456789 - should render without parser warnings.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-row fsa-high&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;p6-label&amp;#34;&amp;gt;font-size-adjust: 0.72&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Hamburgfonstiv 0123456789 - should render without parser warnings.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:2pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: all rows render cleanly; no style drop or malformed layout when numeric/none values are used.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;font-variant&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Comparison between &amp;lt;code&amp;gt;font-variant: normal&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;font-variant: small-caps&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fv-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fv-row { border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; margin-bottom: 5pt; font-size: 13pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fv-label { font-size: 8pt; color: #56616f; margin-bottom: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fv-normal { font-variant: normal; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .fv-smallcaps { font-variant: small-caps; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;fv-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;fv-row fv-normal&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;fv-label&amp;#34;&amp;gt;font-variant: normal&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The quick brown fox jumps over the lazy dog.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;fv-row fv-smallcaps&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;fv-label&amp;#34;&amp;gt;font-variant: small-caps&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The quick brown fox jumps over the lazy dog.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:2pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: both rows render correctly; small-caps effect may depend on font capabilities.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;quotes&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example for &amp;lt;code&amp;gt;quotes&amp;lt;/code&amp;gt; using custom quote pairs and pseudo content.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-row { border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-label { font-size: 8pt; color: #56616f; margin-bottom: 2pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-default { quotes: auto; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-custom { quotes: &amp;#34;\\00003C\\00003C&amp;#34; &amp;#34;\\00003E\\00003E&amp;#34; &amp;#34;\\00003C&amp;#34; &amp;#34;\\00003E&amp;#34;; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-none { quotes: none; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-mark::before { content: open-quote; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .qt-mark::after { content: close-quote; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-row qt-default&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-label&amp;#34;&amp;gt;quotes: auto&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;qt-mark&amp;#34;&amp;gt;Quoted sample with default quotes&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-row qt-custom&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-label&amp;#34;&amp;gt;quotes: &amp;#34;&amp;amp;lt;&amp;amp;lt;&amp;#34; &amp;#34;&amp;amp;gt;&amp;amp;gt;&amp;#34; &amp;#34;&amp;amp;lt;&amp;#34; &amp;#34;&amp;amp;gt;&amp;#34;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;qt-mark&amp;#34;&amp;gt;Quoted sample with custom pair&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-row qt-none&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;qt-label&amp;#34;&amp;gt;quotes: none&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;qt-mark&amp;#34;&amp;gt;Quoted sample with quote suppression&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:2pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: content remains stable; quote glyph changes depend on current pseudo-content handling.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;24) Spot color via CSS&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Example of custom &amp;lt;code&amp;gt;@spot&amp;lt;/code&amp;gt; palette declarations with &amp;lt;code&amp;gt;spot(name, tint)&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; in foreground, background, and border properties.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; @spot &amp;#34;Brand Orange&amp;#34; { cmyk: 0 62 100 0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; @spot &amp;#34;Varnish Clear&amp;#34; { lab: 92 0.5 3.0; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-row { border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-text { color: spot(&amp;#34;Brand Orange&amp;#34;); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-bg { background-color: spot(&amp;#34;Brand Orange&amp;#34;, 0.30); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-border { border: 1.2pt solid spot(&amp;#34;Brand Orange&amp;#34;, 0.80); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .spot-lab { color: spot(&amp;#34;Varnish Clear&amp;#34;, 0.75); }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;spot-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;spot-row spot-text&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;spot text:&amp;lt;/strong&amp;gt; color: spot(&amp;#34;Brand Orange&amp;#34;);&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;spot-row spot-bg&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;spot background:&amp;lt;/strong&amp;gt; background-color: spot(&amp;#34;Brand Orange&amp;#34;, 0.30);&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;spot-row spot-border&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;spot border:&amp;lt;/strong&amp;gt; border-color from spot(&amp;#34;Brand Orange&amp;#34;, 0.80);&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;spot-row spot-lab&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;Lab spot:&amp;lt;/strong&amp;gt; color: spot(&amp;#34;Varnish Clear&amp;#34;, 0.75);&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:2pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: spot styles render normally while preserving spot operators in PDF output.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;25) Paged Media (Printing) Properties&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;orphans&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example of &amp;lt;code&amp;gt;orphans&amp;lt;/code&amp;gt;: Sets the minimum number of lines in a block container that must be left at the bottom of a page or column.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ow-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ow-col { width: 78mm; display: inline-block; vertical-align: top; border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .ow-col + .ow-col { margin-left: 3mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .orphans-two { orphans: 2; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .orphans-six { orphans: 6; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-col orphans-two&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;orphans: 2&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks. Long paragraph sample used to inspect&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; page-flow handling around breaks. Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-col orphans-six&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;orphans: 6&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks. Long paragraph sample used to inspect&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; page-flow handling around breaks. Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:4pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: both blocks render identically and cleanly..&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;padding-top:170mm;&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-col orphans-two&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;orphans: 2&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks. Long paragraph sample used to inspect&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; page-flow handling around breaks. Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;ow-col orphans-six&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;orphans: 6&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks. Long paragraph sample used to inspect&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; page-flow handling around breaks. Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Long paragraph sample used to inspect page-flow handling around breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:4pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: both blocks render identically and cleanly..&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;widows&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example of &amp;lt;code&amp;gt;widows&amp;lt;/code&amp;gt;: Sets the minimum number of lines in a block container that must be left at the top of a new page or column.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .wd-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .wd-col { width: 78mm; display: inline-block; vertical-align: top; border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .wd-col + .wd-col { margin-left: 3mm; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .widows-two { widows: 2; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .widows-six { widows: 6; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-col widows-two&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;widows: 2&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Continuation paragraph sample for widow control checks near page boundaries. Continuation paragraph sample for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; widow control checks near page boundaries. Continuation paragraph sample for widow control checks near page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; boundaries. Continuation paragraph sample for widow control checks near page boundaries.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-col widows-six&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;widows: 6&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Continuation paragraph sample for widow control checks near page boundaries. Continuation paragraph sample for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; widow control checks near page boundaries. Continuation paragraph sample for widow control checks near page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; boundaries. Continuation paragraph sample for widow control checks near page boundaries.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:4pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: clean render with no style loss.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div style=&amp;#34;padding-top:190mm;&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-col widows-two&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;widows: 2&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Continuation paragraph sample for widow control checks near page boundaries. Continuation paragraph sample for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; widow control checks near page boundaries. Continuation paragraph sample for widow control checks near page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; boundaries. Continuation paragraph sample for widow control checks near page boundaries.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;wd-col widows-six&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;strong style=&amp;#34;font-size:9pt;&amp;#34;&amp;gt;widows: 6&amp;lt;/strong&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Continuation paragraph sample for widow control checks near page boundaries. Continuation paragraph sample for&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; widow control checks near page boundaries. Continuation paragraph sample for widow control checks near page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; boundaries. Continuation paragraph sample for widow control checks near page boundaries.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:4pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: clean render with no style loss.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h3&amp;gt;page&amp;lt;/h3&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example of named and keyword &amp;lt;code&amp;gt;page&amp;lt;/code&amp;gt; values.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pg-wrap { border: 0.4pt solid #b0b9c4; background: #fafbfd; padding: 6pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pg-row { border: 0.4pt solid #ccd4de; background: #fff; padding: 5pt; margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pg-auto { page: auto; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pg-chapter { page: chapter; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .pg-appendix { page: appendix; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pg-wrap&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pg-row pg-auto&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;page: auto&amp;lt;/strong&amp;gt; - baseline named-page behavior.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pg-row pg-chapter&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;page: chapter&amp;lt;/strong&amp;gt; - named page token accepted.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;pg-row pg-appendix&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;page: appendix&amp;lt;/strong&amp;gt; - additional named page token accepted.&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:2pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: all blocks render correctly.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;page-break&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;26) Global CSS base stylesheet (setGlobalCSS)&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The styles applied below are &amp;lt;strong&amp;gt;not&amp;lt;/strong&amp;gt; defined anywhere in this document.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; They come from a global stylesheet registered once via&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;\$pdf-&amp;amp;gt;setGlobalCSS(...)&amp;lt;/code&amp;gt;, which is injected into every HTML rendering&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; call as a base (lowest-priority) author stylesheet. &amp;lt;code&amp;gt;addGlobalCSS()&amp;lt;/code&amp;gt; appends&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; more rules and &amp;lt;code&amp;gt;resetGlobalCSS()&amp;lt;/code&amp;gt; clears them.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;gcss-card&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;span class=&amp;#34;gcss-title&amp;#34;&amp;gt;Styled entirely by global CSS&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;#34;gcss-badge&amp;#34;&amp;gt;GLOBAL&amp;lt;/span&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;margin:3pt 0 0 0;&amp;#34;&amp;gt;The card border and background, the title color, and the badge&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; are all provided by the global stylesheet. This document only supplies the markup and class names.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Document rules override global rules on equal specificity. The class&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;.gcss-override&amp;lt;/code&amp;gt; is defined in the global CSS as gray, but the local&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;&amp;amp;lt;style&amp;amp;gt;&amp;lt;/code&amp;gt; below redefines it, so the document wins the cascade tie:&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; .gcss-override { color: #1a7d1a; font-weight: bold; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;div class=&amp;#34;gcss-override&amp;#34;&amp;gt;This line should be GREEN (document rule) — not gray (global rule).&amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:8pt; color:#666; margin:3pt 0 0 0;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Visual goal: the card, title and badge render even though their CSS is absent from this&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; document; the override line is green, confirming document rules win over the global base&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; on equal specificity.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register a global base stylesheet applied to every HTML rendering call.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// These rules are intentionally NOT present in the document markup above:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// section 26 relies on them being injected as the lowest-priority author source.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setGlobalCSS(&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;CSS&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;gcss&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;card { border&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;pt solid &lt;span style="color:#8b949e;font-style:italic"&gt;#2f5a8a; background: #eef4fb; padding: 6pt; margin-bottom: 5pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;gcss&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;title { color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;#1f3d5a; font-weight: bold; font-size: 11pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CSS);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// addGlobalCSS() appends to the existing global CSS.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addGlobalCSS(&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;CSS&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;gcss&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;badge { background&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;#2f5a8a; color: #ffffff; padding: 1pt 4pt; font-size: 8pt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;gcss&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;override { color&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;#999999; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CSS);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E074 : text cell fit modes</title><link>https://tcpdf.org/examples/E074_text_cell_fit_modes/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E074_text_cell_fit_modes/</guid><description>&lt;p&gt;The overflow fit modes for a text cell: truncate, stretch, or shrink the font until the text fits.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E074_text_cell_fit_modes.pdf"&gt;E074_text_cell_fit_modes.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E074_text_cell_fit_modes.phps"&gt;E074_text_cell_fit_modes.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E074_text_cell_fit_modes.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E074_text_cell_fit_modes.webp" alt="Page 1 of E074_text_cell_fit_modes.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E074_text_cell_fit_modes.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates getTextCell/addTextCell fit modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * T, S, F and disabled behavior.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 074&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Text Cell Fit Modes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example text cell fit T S F&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;074_text_cell_fit_modes.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;getTextCell() fit mode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#4a5b70&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffffff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Long text scenario (overflow):&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$longSample&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Truncate,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Stretch,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;ShrinkFont,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=(disabled)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// one line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longSample&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// multiple lines&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longSample&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;addTextCell() fit mode&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Long text scenario (overflow):&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=(disabled)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// one line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longSample&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// multiple lines&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longSample&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// /\/\/\/\/\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;getTextCell() fit mode long word (hyphenated)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#4a5b70&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffffff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Long word scenario (overflow):&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Define a custom hyphenation pattern that splits a word after each character.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// See loadTexHyphenPatterns() for language-specific hyphenation patterns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$singleCharPattern&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (range(&lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;z&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$singleCharPattern&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$singleCharPattern&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$longWord&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Loremipsumdolorsitametconsecteturadipiscingelitseddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Truncate,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Stretch,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;ShrinkFont,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=(disabled)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// one line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longWord&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// multiple lines&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longWord&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$titleFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;addTextCell() fit mode long word (hyphenated)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$baseFont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Long word scenario (overflow):&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$modesL&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Off &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=(disabled)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit=&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// one line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longWord&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// multiple lines&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longWord&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;41&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$modeY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E075 : external signature injection</title><link>https://tcpdf.org/examples/E075_external_signature_injection/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E075_external_signature_injection/</guid><description>&lt;p&gt;Signing with a key this process cannot reach: prepare() exports the /ByteRange digest, and apply() injects the &lt;abbr title="Cryptographic Message Syntax"&gt;CMS&lt;/abbr&gt; that comes back.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E075_external_signature_injection.pdf"&gt;E075_external_signature_injection.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E075_external_signature_injection.phps"&gt;E075_external_signature_injection.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E075_external_signature_injection.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E075_external_signature_injection.webp" alt="Page 1 of E075_external_signature_injection.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E075_external_signature_injection.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Demonstrates a remote/external signing workflow using a signature placeholder,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ByteRange hash export, and later CMS/PKCS#7 injection.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-05-28&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 075&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;External Signature Injection Workflow&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example external signature remote pkcs7 byterange&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E075_signed_external_signature_injection.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignatureForExternalSigning([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote signing service&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;External Signer&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote detached CMS signature injection demo&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigPosX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigPosY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;220.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignatureAppearance(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigPosX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigPosY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote Approval&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Custom /AP stream to make the signature widget visually obvious.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigStamp&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \gmdate(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Y-m-d H:i:s&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; UTC&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Build the signature appearance stream directly from HTML table markup.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTableHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:80mm; border-color:#183a66; color:#1f2a33; font-size:9pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;background-color:#d4e8ff;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;REMOTE SIGNATURE&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;background-color:#a9d0ff;text-align:center;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;CMS/PKCS#7&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td colspan=&amp;#34;2&amp;#34; style=&amp;#34;background-color:#ffffcc;&amp;#34;&amp;gt;External signature provider&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr style=&amp;#34;background-color:#ccffcc;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;&amp;#34;&amp;gt;Prepared:&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;text-align:center;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;{$sigStamp}&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTableHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSignatureAppearanceStream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$instructionsHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;External Signature Injection (E075)&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;This example demonstrates a full remote-signing flow where the private key never lives in your&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; application. The signature field uses the ISO 32000-1 &amp;lt;code&amp;gt;/adbe.pkcs7.detached&amp;lt;/code&amp;gt; sub-filter.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Workflow&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Create placeholder&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Configure a signature field and reserve &amp;lt;code&amp;gt;/Contents&amp;lt;/code&amp;gt; bytes using&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;setSignatureForExternalSigning()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;setSignatureAppearance()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Prepare and hash&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Call &amp;lt;code&amp;gt;getExternalSignaturePreparation(&amp;#39;sha256&amp;#39;)&amp;lt;/code&amp;gt; to receive:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;prepared PDF bytes with final &amp;lt;code&amp;gt;/ByteRange&amp;lt;/code&amp;gt;,&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;the exact &amp;lt;code&amp;gt;byte_range&amp;lt;/code&amp;gt; tuple,&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;digest in raw, hex, and base64 formats.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Remote sign&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Send the digest (typically &amp;lt;code&amp;gt;hash_base64&amp;lt;/code&amp;gt;) to your external provider,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; such as HSM/KMS or gov.br signing API, and receive CMS/PKCS#7 detached signature bytes.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Inject signature&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; Call &amp;lt;code&amp;gt;applyExternalSignature(preparedPdf, byteRange, cmsSignature, encoding)&amp;lt;/code&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; with &amp;lt;code&amp;gt;encoding = binary|base64|hex&amp;lt;/code&amp;gt; to produce the final signed PDF bytes.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;This Demo Uses a Fake External Response&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;To keep the example self-contained and offline, it injects a simulated CMS payload&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (&amp;lt;code&amp;gt;DEMO-REMOTE-CMS:&amp;lt;/code&amp;gt; followed by the raw digest) instead of calling a real signer. The injection&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; reuses the reserved &amp;lt;code&amp;gt;/Contents&amp;lt;/code&amp;gt; placeholder without re-hashing the document, so the PDF proves&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the ByteRange / placeholder / injection mechanics but is cryptographically invalid and will not pass&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; signature validation. &amp;lt;code&amp;gt;applyExternalSignature()&amp;lt;/code&amp;gt; throws if the returned CMS is larger than the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; reserved placeholder, so size the placeholder for your provider&amp;#39;s real CMS.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Run Modes&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CLI default:&amp;lt;/b&amp;gt; &amp;lt;code&amp;gt;save&amp;lt;/code&amp;gt; mode writes both prepared and signed files under &amp;lt;code&amp;gt;target/&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CLI explicit:&amp;lt;/b&amp;gt; &amp;lt;code&amp;gt;php examples/E075_external_signature_injection.php save&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;render&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Web:&amp;lt;/b&amp;gt; append &amp;lt;code&amp;gt;?mode=save&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;?mode=render&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$instructionsHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) (&lt;span style="color:#79c0ff"&gt;$argv&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;elseif&lt;/span&gt; (isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; is_string(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; strtolower(trim(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;in_array(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The external signing workflow (reserve placeholder, hash, remote-sign, inject)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// is documented in the instructions rendered into the document above.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getExternalSignaturePreparation(\Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Demo shortcut: inject a FAKE CMS payload instead of calling a real signer (see&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the &amp;#34;fake external response&amp;#34; note in the rendered instructions above). Replace&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// this with a real CMS from your provider for a verifiable signature.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fakeRemoteCmsSignature&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DEMO-REMOTE-CMS:&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_raw&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;applyExternalSignature(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; preparedPdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prepared_pdf&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; byteRange&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;byte_range&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; signature&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fakeRemoteCmsSignature&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; encoding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Signature\ExternalSignatureEncoding&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Binary,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/target&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;is_dir(&lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mkdir(&lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0o777&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/E075_prepared_unsigned_external_signature.pdf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/E075_signed_demo_external_signature_injection.pdf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file_put_contents(&lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prepared_pdf&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file_put_contents(&lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; header(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Content-Type: text/plain; charset=utf-8&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Prepared PDF: &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;{&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;}&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Signed PDF: &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;{&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;}&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Digest (sha256, base64): &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_base64&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Note: Signed output uses a simulated external CMS payload for demo purposes.&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E076 : absolute position</title><link>https://tcpdf.org/examples/E076_absolute_position/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E076_absolute_position/</guid><description>&lt;p&gt;Placing content at explicit coordinates alongside flowed content, with page diagonals drawn as a reference grid.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E076_absolute_position.pdf"&gt;E076_absolute_position.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E076_absolute_position.phps"&gt;E076_absolute_position.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#start-here"&gt;Start Here&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E076_absolute_position.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E076_absolute_position.webp" alt="Page 1 of E076_absolute_position.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E076_absolute_position.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-04-19&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 076&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Minimal Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf absolute position&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;076_absolute_position.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Line style&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page in Portrait mode (P)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add font to the page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw page diagonals&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add first page in Landscape mode (L)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw page diagonals&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style1&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// /\/\/\/\/\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add content to previous pages&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Select the page to change&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pgP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCurrentPage(&lt;span style="color:#79c0ff"&gt;$pageP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cxP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pgP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cyP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pgP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;THIS TEXT TOP-LEFT STARTS AT THE PAGE CENTER POINT&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cxP&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cyP&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pgP&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pgL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCurrentPage(&lt;span style="color:#79c0ff"&gt;$pageL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cxL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pgL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cyL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pgL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;THIS TEXT TOP-LEFT STARTS AT THE PAGE CENTER POINT&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cxL&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cyL&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pgL&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Get the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the PDF content&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E077 : html table header px unit</title><link>https://tcpdf.org/examples/E077_html_table_header_px_unit/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E077_html_table_header_px_unit/</guid><description>&lt;p&gt;A table header sized in pixel units and repeated on each page the table spans.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E077_html_table_header_px_unit.pdf"&gt;E077_html_table_header_px_unit.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E077_html_table_header_px_unit.phps"&gt;E077_html_table_header_px_unit.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E077_html_table_header_px_unit.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E077_html_table_header_px_unit.webp" alt="Page 1 of E077_html_table_header_px_unit.pdf" width="800" height="600" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E077_html_table_header_px_unit.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-06-12&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;OUTPUT_FILE&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../target&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/example.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The &amp;#39;px&amp;#39; document unit maps one user unit to one PDF point, while CSS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// pixel lengths use the standard 96dpi ratio (1px = 0.75pt). This example&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// verifies that replayed table headers on continuation pages keep the same&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// column geometry as the table body regardless of the document unit&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// (see https://github.com/tecnickcom/tc-lib-pdf/issues/224).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Point,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 077&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Table Header with PX Unit&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html table thead header pixel px unit pagination&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;077_html_table_header_px_unit.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A small custom page so the table spans several pages.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageV01&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;300&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;400&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont6&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Table spanning multiple pages with header row replay.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The replayed header rows on each continuation page must keep the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// exact per-column widths computed for the original table.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;border-bottom: 1px solid red;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;color:rgba(0, 170, 255, 0.4); border-bottom: 1px solid red; &amp;#34;&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;text-align:right&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \number_format(&lt;span style="color:#79c0ff"&gt;$i&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.34&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tablehtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Table across pages (px unit)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;style&amp;gt; .UNUSED { color:red; } &amp;lt;/style&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;#&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableRows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tablehtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;360&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E078 : htmlcell page margins</title><link>https://tcpdf.org/examples/E078_htmlcell_page_margins/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E078_htmlcell_page_margins/</guid><description>&lt;p&gt;addHTMLCell() placed against the page margins, including the header and footer bands.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E078_htmlcell_page_margins.pdf"&gt;E078_htmlcell_page_margins.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E078_htmlcell_page_margins.phps"&gt;E078_htmlcell_page_margins.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E078_htmlcell_page_margins.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E078_htmlcell_page_margins.webp" alt="Page 1 of E078_htmlcell_page_margins.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E078_htmlcell_page_margins.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-06-14&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A single A4 page is created with 100mm top and bottom margins, leaving a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// narrow central content band. getHTMLCell() returns the PDF code for an HTML&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// block at absolute page coordinates, so HTML text can be placed in the top&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// margin (border), in the central content area, and in the bottom margin&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// (border) of the same page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 078&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;addHTMLCell in Page Margins&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf html addHTMLCell margin border top bottom center absolute&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;078_htmlcell_page_margins.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Top and bottom margins (mm).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a single A4 page with 100mm top and bottom margins.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;autobreak&amp;#39; is disabled so placing content in the bottom margin does not&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trigger an automatic page break and everything stays on one page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;autobreak&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add font to the page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentTop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentBottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw the two margin boundary lines so the top/bottom borders are visible.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$contentTop&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$contentTop&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$contentBottom&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$contentBottom&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lineStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Horizontal placement of the HTML cells (centered with 20mm side gaps).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; (&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellX&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// An explicit cell height is passed so each block is treated as an&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// absolutely-positioned bounded box. Without it, content placed below the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// content region (e.g. the bottom margin) is treated as overflow and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML cursor is reset to the top of the content area.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 1) Text in the TOP border (inside the top margin area).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center; color:#008000;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;TOP BORDER&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;This text is placed inside the 100mm top margin.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Table Cell TOP&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$topMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 2) Text in the CENTRAL content area.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center; color:#000080;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;CENTRAL PAGE&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;This text is placed in the central content area &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;between the top and bottom margins.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Table Cell CENTRAL&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$contentTop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentBottom&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// 3) Text in the BOTTOM border (inside the bottom margin area).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center; color:#800000;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;BOTTOM BORDER&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;This text is placed inside the 100mm bottom margin.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Table Cell BOTTOM&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentBottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$bottomMargin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A block taller than the page: getHTMLCell() returns the PDF code of one page, so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// block stays on the current page and continues below the bottom margin; addHTMLCell()&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// continues it on the next page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;autobreak&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;64&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tallBlock&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;getHTMLCell()&amp;lt;/b&amp;gt;: one page, the lines past the bottom margin continue down the page.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tallBlock&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;addHTMLCell()&amp;lt;/b&amp;gt;: the lines past the bottom margin continue on the next page.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tallBlock&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;85&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__).&amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E079 : font stretch spacing matrix</title><link>https://tcpdf.org/examples/E079_font_stretch_spacing_matrix/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E079_font_stretch_spacing_matrix/</guid><description>&lt;p&gt;Font stretching (Tz) and character spacing (Tc) combined in one matrix, driven from both the &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; and &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E079_font_stretch_spacing_matrix.pdf"&gt;E079_font_stretch_spacing_matrix.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E079_font_stretch_spacing_matrix.phps"&gt;E079_font_stretch_spacing_matrix.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E079_font_stretch_spacing_matrix.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E079_font_stretch_spacing_matrix.webp" alt="Page 1 of E079_font_stretch_spacing_matrix.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E079_font_stretch_spacing_matrix.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-06-15&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// This example exercises horizontal font stretching (Tz) and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// character spacing (Tc) through both the direct text API (Section 1) and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML/CSS engine (Section 2), across every combination of alignment,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// stretching and spacing for two fonts (times and dejavuserif).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 079&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Font stretching and spacing matrix&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example font stretch Tz spacing Tc letter-spacing font-stretch html css&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;079_font_stretch_spacing_matrix.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------- shared layout constants ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$topY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bottomLimit&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;285.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rowHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$boxStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Matrix dimensions (mirror example_063: 90/100/110% and -0.254/0/+0.254mm).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$alignments&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LEFT&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CENTER&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RIGHT&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;J&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;JUSTIFY&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cssAlign&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;left&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;right&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;J&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;justify&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$stretchRatios&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0.90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.00&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.10&lt;/span&gt;]; &lt;span style="color:#8b949e;font-style:italic"&gt;// font-stack stretching ratios (1.0 = 100%)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacingPoints&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0.72&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.72&lt;/span&gt;]; &lt;span style="color:#8b949e;font-style:italic"&gt;// direct API character spacing (points)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacingMillim&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;]; &lt;span style="color:#8b949e;font-style:italic"&gt;// CSS letter-spacing (mm); ~ the spacing above&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fonts&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavuserif&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---------- helpers ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$stretching&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Register a neutral current font without writing to any page; used before&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// addPage() so the new page is created with a valid current font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ensureFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (\Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$heading&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \Com\Tecnick\Pdf\Tcpdf &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string &lt;span style="color:#79c0ff"&gt;$subtitle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$subtitle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ========== SECTION 1 - DIRECT TEXT API ==========&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$fonts&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ensureFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// ensure a current font exists before addPage&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$heading&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Example 079 - Section 1: direct text API (font: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Each row inserts the font with a stretching ratio and character spacing, then renders the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;label via getTextCell() using the L/C/R/J alignment shown.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$topY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$alignments&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$stretchRatios&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ratio&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$spacingPoints&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; ((&lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowHeight&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bottomLimit&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ensureFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$topY&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$ratio&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rowHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$boxStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \sprintf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%s | Stretching = %d%% | Spacing = %+.3fpt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (int) \round(&lt;span style="color:#79c0ff"&gt;$ratio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rowHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.5&lt;/span&gt;; &lt;span style="color:#8b949e;font-style:italic"&gt;// gap between alignment groups&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ========== SECTION 2 - HTML / CSS API ==========&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$fonts&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$ensureFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// ensure a current font exists before addPage&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$heading&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Example 079 - Section 2: HTML/CSS API (font: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Each bordered block is an HTML span carrying CSS font-stretch and letter-spacing; the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;wrapping paragraph must stay inside its cell with the stretch/spacing applied.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$topY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Base font for the HTML engine (neutral stretch/spacing root).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$setFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$alignments&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$stretchRatios&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ratio&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pct&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (int) \round(&lt;span style="color:#79c0ff"&gt;$ratio&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$spacingMillim&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$spacingLabel&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;%+.3F&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:100%;&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cssAlign&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span style=&amp;#34;font-stretch:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pct&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%;letter-spacing:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacing&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mm;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span style=&amp;#34;color:red;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$name&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt; | &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span style=&amp;#34;color:green;&amp;#34;&amp;gt;Stretching = &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pct&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;%&amp;lt;/span&amp;gt; | &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;span style=&amp;#34;color:blue;&amp;#34;&amp;gt;Spacing = &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacingLabel&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mm&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ad litora torquent per conubia nostra, per inceptos himenaeos.&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$marginLeft&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$y&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$contentWidth&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// get PDF document as raw string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Various output modes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;savePDF(\dirname(__DIR__) . &amp;#39;/target&amp;#39;, $rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//$pdf-&amp;gt;downloadPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//echo $pdf-&amp;gt;getMIMEAttachmentPDF($rawpdf);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E080 : no write regions</title><link>https://tcpdf.org/examples/E080_no_write_regions/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E080_no_write_regions/</guid><description>&lt;p&gt;Rectangles that text and &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; flow must avoid, so content wraps around a reserved area.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E080_no_write_regions.pdf"&gt;E080_no_write_regions.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E080_no_write_regions.phps"&gt;E080_no_write_regions.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#pages-and-layout"&gt;Pages and Layout&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E080_no_write_regions.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E080_no_write_regions.webp" alt="Page 1 of E080_no_write_regions.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E080_no_write_regions.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * No-write page regions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * A no-write region is a portion of the page that flowing text avoids. Each region is a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * vertical, possibly slanted, segment plus the page side it blocks (&amp;#39;L&amp;#39; or &amp;#39;R&amp;#39;).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * tc-lib-pdf-page approximates the resulting writable area with a stack of rectangular&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * regions (one per horizontal band), so text flows down the page hugging the obstacle.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Several adjacent segments approximate curved shapes (see the circle in the second&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * scenario). See Com\Tecnick\Pdf\Page\Region::setNoWriteRegions().&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Each obstacle scenario is rendered twice, on consecutive pages:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - with addTextCell() (plain flowing text);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * - with addHTMLCell() (HTML cell), producing the same visual result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Both engines hug the rectangular, trapezoidal and circular obstacles band by band and, when&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * the text overflows the last region, continue on a fresh full-width page (no-write regions are&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * page-specific, so the continuation page has no obstacles).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The band height must be at least one text line tall; with a 12pt font (~4.9mm line height) a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 5mm band fits exactly one line, giving the finest (per-line) staircase.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-06-16&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using RPM or DEB package installation&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;//require (&amp;#39;/usr/share/php/Com/Tecnick/Pdf/autoload.php&amp;#39;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 080&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;No-write page regions&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example no-write page regions wrap text shape&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;080_no_write_regions.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setViewerPreferences([&lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Fonts: 12pt body, 8pt annotation labels.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The font engine keeps the last inserted font as the current one, so each font is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// (re)inserted with insertFont() right before it is used.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Colours.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$black&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,0)&amp;#39;&lt;/span&gt;); &lt;span style="color:#8b949e;font-style:italic"&gt;// titles and labels (single-line, no page break)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bodyBlue&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,255)&amp;#39;&lt;/span&gt;; &lt;span style="color:#8b949e;font-style:italic"&gt;// flowing body text (justified)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Graphic styles: light-green fill, the no-write edge in red, the other edges in grey dashed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(127,127,127)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(220,255,220)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(127,127,127)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$edgeRed&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(255,0,0)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arrowStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.254&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(0,0,0)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Image used as a rectangular obstacle.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgFile&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/images/200x100_RGBICC.jpg&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add(&lt;span style="color:#79c0ff"&gt;$imgFile&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Flowing body text (blue and justified).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$intro&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TEST PAGE REGIONS: a no-write region is a portion of the page with a rectangular or &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trapezium shape that will not be covered when writing text. A region is aligned on the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;left or right side of the page and is defined using a vertical segment. You can set &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;multiple regions for the same page, and combine several adjacent regions to approximate &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;curved shapes.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// More text than fits on a no-write page: with automatic page break enabled the flow continues&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// on a fresh page. No-write regions are page-specific, so that continuation page has no&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// obstacles and the text returns to the full page width.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$intro&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bandHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reusable building blocks, so each obstacle scenario can be rendered identically with the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// plain-text engine (addTextCell) and the HTML engine (addHTMLCell).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Add a page and print its (black) title.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$black&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$margin&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$black&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw the two image obstacles plus the two trapezoids (with xt,yt / xb,yb / side labels and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// direction arrows) and register the matching no-write regions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupTrapezoids&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (float &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$edgeRed&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$arrowStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$black&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bandHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Two image obstacles: top-right and bottom-left.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;image&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetImage(&lt;span style="color:#79c0ff"&gt;$imgId&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Left trapezoid: the slanted right edge (57,90)-(67,140) is the no-write boundary (red).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;57&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;67&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeRed&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Right trapezoid: the slanted left edge (155,180)-(145,130) is the no-write boundary (red).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon([&lt;span style="color:#a5d6ff"&gt;145&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;145&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeGrey&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$edgeRed&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Annotation labels and direction arrows (8pt black).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$black&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xt,yt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;38&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb,yb&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;48&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;136&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;38&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;111&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;115&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;115&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$arrowStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xt,yt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;147&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb,yb&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;156&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;176&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCellXY(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;158&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;151&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getArrow(&lt;span style="color:#a5d6ff"&gt;152&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;172&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$arrowStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// No-write regions: each is a segment (xt,yt)-(xb,yb) plus the blocked page side.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNoWriteRegions(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;153&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;153&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// top-right image&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// left trapezoid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;143&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;153&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// right trapezoid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;58&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;58&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;270&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;], &lt;span style="color:#8b949e;font-style:italic"&gt;// bottom-left image&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bandHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Draw the circular obstacle (left half-disc against the right content edge) traced by eight&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// adjacent right-side segments, and register the matching no-write regions.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupCircle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; () &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bandHeight&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPolygon(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;113.045&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;121.716&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;134.693&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;165.307&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;178.284&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;186.955&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DF&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fillStyle&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setNoWriteRegions([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;113.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;113.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;121.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;121.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;134.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;134.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;155&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;165.307&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;158.045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;165.307&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;178.284&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;166.716&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;178.284&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;186.955&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;179.693&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;186.955&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;195&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ], &lt;span style="color:#79c0ff"&gt;$bandHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Flow the body with the plain-text engine. width 0 makes each band use its own writable width.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The fill colour is set through the graph so it is tracked and re-applied automatically when the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// flow continues on an automatically added page (the colour resets per page).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderTextBody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; () &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bodyBlue&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;add([&lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bodyBlue&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Flow the SAME body with the HTML engine. A single justified, coloured paragraph hugs the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// obstacle band by band exactly like addTextCell, and overflows onto a fresh full-width page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A font must be active before addHTMLCell(). getHTMLCell() returns the same rendering as a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// string instead of emitting it (e.g. $code = $pdf-&amp;gt;getHTMLCell(...); $pdf-&amp;gt;page-&amp;gt;addContent($code);).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderHtmlBody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; () &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bodyBlue&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$insertFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-align:justify;color:&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bodyBlue&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// SCENARIO 1: rectangular and trapezoidal no-write regions around two images.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$startPage&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;No-write page regions: addTextCell flowing around rectangular and trapezoidal shapes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (float) &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupTrapezoids&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderTextBody&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startPage&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;No-write page regions: addHTMLCell flowing around rectangular and trapezoidal shapes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupTrapezoids&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$pageHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderHtmlBody&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// SCENARIO 2: eight adjacent regions approximating a circle (text wraps its left side).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startPage&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;No-write page regions: addTextCell flowing around a circular shape (8 adjacent segments)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupCircle&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderTextBody&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$startPage&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;No-write page regions: addHTMLCell flowing around a circular shape (8 adjacent segments)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$setupCircle&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$renderHtmlBody&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E081 : signature pades lta</title><link>https://tcpdf.org/examples/E081_signature_pades_lta/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E081_signature_pades_lta/</guid><description>&lt;p&gt;A &lt;abbr title="PDF Advanced Electronic Signatures"&gt;PAdES&lt;/abbr&gt; B-LTA signature, with an archive timestamp (/Type /DocTimeStamp) added through upgradeToLta().&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E081_signature_pades_lta.pdf"&gt;E081_signature_pades_lta.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E081_signature_pades_lta.phps"&gt;E081_signature_pades_lta.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E081_signature_pades_lta.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E081_signature_pades_lta.webp" alt="Page 1 of E081_signature_pades_lta.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E081_signature_pades_lta.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-07-15&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// main TCPDF object&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The TSA host must be listed in allowedHosts to be reachable.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(fileOptions&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allowedHosts&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;freetsa.org&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 081&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-LTA Archive Timestamp Signature Example&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature pades pades-b-lta archive timestamp doctimestamp dss&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;081_signature_pades_lta.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Insert font before adding the first page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;This document is a PAdES-BASELINE-LTA signature: B-LT plus a document archive timestamp.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The archive timestamp is a /Type /DocTimeStamp field (/SubFilter /ETSI.RFC3161) covering the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;whole document, added in a further incremental revision to protect the signature over the long term.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;27&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$textCell2&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// PAdES-BASELINE-LTA is produced by configuring a B-LT signature (with a TSA) and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// then calling upgradeToLta(), which selects the pades-b-lta profile and forces the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// LTV material on. The signing process and this demo&amp;#39;s limitations are rendered&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// into the document itself (see the explanatory block added below).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;configure([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PROFILE_PADES_B_LT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Demo Office&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES-BASELINE-LTA archive-timestamped signature example&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cert&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ltv&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_ocsp&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_crl&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_certs&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_dss&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_vri&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;timestamp([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Public demo endpoint. For production use your trusted TSA service.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;host&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://freetsa.org/tsr&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;username&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;policy_oid&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nonce_enabled&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;timeout&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;verify_peer&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// freetsa.org names its certificate with the RFC 2634 signing-certificate (v1)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// attribute, which is SHA-1 by definition, so the token is only accepted with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// this opt-in. A TSA emitting ESSCertIDv2 (SHA-256) needs no such setting.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allow_sha1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;upgradeToLta();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;place(posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ArchiveSignature&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Appearance stream marking the long-term archival intent of the signature.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bfont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;color&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPdfColor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(15%,15%,15%)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PAdES B-LTA Archive Signature&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigW&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigH&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linespace&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; styles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(93%,93%,98%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rgb(30%,30%,55%)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strokewidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; leading&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rise&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; jlast&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fill&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; stroke&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; underline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linethrough&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; overline&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; clip&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;stream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;, mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Signature\SignatureAppearanceMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Normal);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Render the signing process and the demo&amp;#39;s limitations into the document so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// output PDF is self-documenting (this text is page content, not part of the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// signed appearance stream).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#1f2a33;&amp;#34;&amp;gt;How this PAdES-BASELINE-LTA signature is produced&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;Configuring a B-LT signature (with a TSA) and then calling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;upgradeToLta()&amp;lt;/code&amp;gt; selects the pades-b-lta profile and forces the LTV material on, so the output&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; carries three incremental revisions: the CAdES signature with its RFC 3161 signature timestamp (B-T),&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; the DSS/VRI validation material (B-LT), and a &amp;lt;code&amp;gt;/Type /DocTimeStamp&amp;lt;/code&amp;gt; archive timestamp&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; (&amp;lt;code&amp;gt;/SubFilter /ETSI.RFC3161&amp;lt;/code&amp;gt;) whose messageImprint covers the whole document up to that&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; revision (B-LTA). The archive timestamp protects the signature and its validation material over the long&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; term, even after the signing certificate or its algorithms weaken.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2 style=&amp;#34;font-size:11pt;color:#7a1f1f;&amp;#34;&amp;gt;Limitations of this demo&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul style=&amp;#34;font-size:9pt;color:#1f2a33;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;Two live RFC 3161 requests are made: one for the signature timestamp and one for the archive&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; timestamp. A configured, reachable TSA is required for both; if the TSA is unreachable or rejects a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; request the signing step throws a signing exception and no PDF is produced.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;As in E009, the bundled self-signed demo certificate carries no OCSP/CRL responders, so the DSS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; embeds only certificates and a validator reports B-T with a DSS and an archive timestamp rather than a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; full B-LTA. A CA-issued certificate with reachable revocation responders is needed for a full B-LTA&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; verdict.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$explainHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;66&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E082 : pdfa core fonts</title><link>https://tcpdf.org/examples/E082_pdfa_core_fonts/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E082_pdfa_core_fonts/</guid><description>&lt;p&gt;The PDF/A core font substitutes, their glyph names, and WinAnsiEncoding, including the Symbol font case.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E082_pdfa_core_fonts.pdf"&gt;E082_pdfa_core_fonts.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E082_pdfa_core_fonts.phps"&gt;E082_pdfa_core_fonts.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E082_pdfa_core_fonts.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E082_pdfa_core_fonts.webp" alt="Page 1 of E082_pdfa_core_fonts.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E082_pdfa_core_fonts.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual check of the PDF/A core font substitutes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * In a PDF/A mode the standard-14 families are replaced by the embeddable PDFA*&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Type1 programs, which are emitted with /Encoding /WinAnsiEncoding and select&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * their glyphs by name. This example prints the codes whose glyph names differ&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * between the substitutes and WinAnsiEncoding, so a name that the embedded&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * program does not define shows up as a blank rather than a character:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 223 ß germandbls&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 181 µ mu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * 183 · periodcentered&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The Symbol face is emitted with a /Differences array instead, and is printed&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * with the Adobe Symbol codes that carry the same risk, followed by the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * extensible delimiter pieces used to build tall brackets.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Text extraction is independent of the glyph names, so copying from the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * rendered page returns the correct characters even when a glyph is missing.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-08-21&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Pdfa3b,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/A Core Font Substitutes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 082 - PDF/A core font glyph coverage&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf pdfa core fonts glyph names WinAnsiEncoding Symbol&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E082_pdfa_core_fonts.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setLanguage(code&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Render a run of single-byte codes with the font currently selected.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The codes are written straight into the content stream, so that each one&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * selects its glyph through the encoding the font dictionary declares.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param array&amp;lt;int, int&amp;gt; $codes Character codes to print.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$putCodes&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$codes&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$esc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$codes&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$esc&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;\%03o&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$code&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// getTextCell() takes the top of the cell, this takes the baseline: shift it down by&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// the ascent of the 14pt face so both sit on the same line&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(\sprintf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;BT %F %F Td (%s) Tj ET&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toPoints(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toYPoints(&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3.7&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$esc&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PDF/A core font substitutes&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Every cell below must show a glyph. A blank marks a name the embedded font program does not define.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The three WinAnsi codes, shown in every substituted family and style.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;BI&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \str_pad(&lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;-&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; Straße µm a·b ÄÖÜäöü fi fl «» †‡&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Symbol declares its own encoding through a /Differences array.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$symbol&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;symbol&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;symbol: named glyphs&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$symbol&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$putCodes&lt;/span&gt;([&lt;span style="color:#a5d6ff"&gt;39&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;74&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;118&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;161&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;192&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;210&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;211&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;212&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;224&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;symbol: delimiter pieces&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$symbol&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$putCodes&lt;/span&gt;([&lt;span style="color:#a5d6ff"&gt;230&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;231&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;232&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;246&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;247&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;248&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;233&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;234&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;235&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;236&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;237&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;238&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;239&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;244&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;160&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ZapfDingbats carries no /Encoding entry: its built-in vector selects the glyphs.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zapfdingbats&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$dingbats&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;zapfdingbats&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$dingbats&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$putCodes&lt;/span&gt;([&lt;span style="color:#a5d6ff"&gt;33&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;34&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;37&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;38&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;111&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;112&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;113&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E083 : text line wrap</title><link>https://tcpdf.org/examples/E083_text_line_wrap/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E083_text_line_wrap/</guid><description>&lt;p&gt;Line wrapping corner cases: first-line offsets, indents, and hyphen handling at the break.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E083_text_line_wrap.pdf"&gt;E083_text_line_wrap.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E083_text_line_wrap.phps"&gt;E083_text_line_wrap.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#text-and-typography"&gt;Text and Typography&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E083_text_line_wrap.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E083_text_line_wrap.webp" alt="Page 1 of E083_text_line_wrap.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E083_text_line_wrap.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection grid for the line wrapping corner cases of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * addTextCell/getTextCell: first line offset, break opportunities&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * and text direction.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-08-21&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 083&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Text Line Wrap Corner Cases&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example text line wrap offset indent hyphen&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;083_text_line_wrap.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The metrics used to break the lines come from the current font of the stack,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// so each block selects its own font right before it is written.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The cell border shows whether the wrapped lines stay inside the given width.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#4a5b70&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffffff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The marker shows where the first line is asked to start.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc2244&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;44.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;27.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The underscores do not allow a line break, so the test word cannot be broken.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AAAAAAAAAA_BBBBBBBBBB_CCCCCCCCCC&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Alpha beta gamma delta epsilon zeta eta theta iota kappa lambda.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one labelled case and returns the ordinate of the next one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param array&amp;lt;string, mixed&amp;gt; $args Named arguments for addTextCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \is_string(&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unset(&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&lt;span style="color:#ff7b72;font-weight:bold"&gt;...&lt;/span&gt;\array_merge([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;posx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;posy&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;styles&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ], &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastTextBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; isset(&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \is_float(&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The offset is taken from the side the paragraph starts from: the right one&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// for RTL. The alignment moves the glyphs inside the line, not that side.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$fromright&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;forcedir&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$fromright&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#79c0ff"&gt;$markx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$markx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#39;%.1f .. %.1f mm&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;], &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;]),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one labelled HTML block twice, wide and narrow, and returns the ordinate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * of the next case. The CSS text-indent maps to the first line offset.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;95.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a page title and returns the ordinate of the first case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;22.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// First line offset: the offset shortens the first line only.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;First line offset (the dashed mark is the requested start of the first line)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Measure the test word to leave it 2mm less room than it needs on the first line.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// getTextCell() returns the PDF code without writing it, and records the metrics.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastTextBBox()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;no offset&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;first word fits&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;first word too wide&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;word wider than the cell&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset over the width&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;negative offset (hanging)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;4.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset and line break&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Alpha beta&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;gamma delta epsilon zeta eta theta iota kappa lambda mu nu xi.&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset and justified&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Justify,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset and centered&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Center,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The offset shortens an LTR first line on the left, so every line still ends&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// flush with the right edge of the cell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset and right aligned&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Break opportunities: where a line is allowed to end.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Break opportunities&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Loremipsumdolorsitametconsecteturadipiscingelitseddoeiusmodtemporincididuntutlaboreetdolore&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$breakable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_replace(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{200B}&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem-ipsum-dolor-sitamet-consectetur-adipiscing-elit-seddo-eiusmod-tempor-incididunt-utlabore&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;spaces only&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;no break point: broken between two characters at the cell edge&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableWordBreakFallback(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;no break point, enableWordBreakFallback(false): the word overflows&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableWordBreakFallback(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;combining marks stay with their letter&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#34;e\u{0301}&amp;#34;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;90&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Break after every character to place a hyphenated break next to the cell edge.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$charPatterns&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (\range(&lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;z&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$charPatterns&lt;/span&gt;[&lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$letter&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$charPatterns&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;hyphenated&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;hyphenated with offset&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns(patterns&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; []);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;automatic break points&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://www.example.com/a/very/long/path/that/has/no/space/in/it/at/all/and/ends/here/index.html&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;zero width spaces&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$breakable&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{05D0}\u{05D1}\u{05D2}\u{05D3} \u{05D4}\u{05D5}\u{05D6}\u{05D7} \u{05D8}\u{05D9}\u{05DA}\u{05DB} &amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{05DC}\u{05DD}\u{05DE}\u{05DF} \u{05E0}\u{05E1}\u{05E2}\u{05E3} \u{05E4}\u{05E5}\u{05E6}\u{05E7}&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;forcedir&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL with offset&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;forcedir&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Break opportunities after hyphens&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$compounds&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;long-distance well-known state-of-the-art &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;hyphenated compounds: lines may end after a hyphen&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$compounds&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;no break in -5, 1-2, ABC-123 or -foo: lines end at spaces only&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;values -5 and 1-2, code ABC-123 and option -foo; &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;non-breaking hyphen (U+2011): kept together&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#34;long\u{2011}distance well\u{2011}known state\u{2011}of\u{2011}the\u{2011}art &amp;#34;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableHyphenBreaks(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;enableHyphenBreaks(false): lines end at spaces only&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$compounds&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableHyphenBreaks(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;narrow cell: a compound wider than the cell breaks after its hyphens&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Long-distance well-known state-of-the-art&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;25.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// CSS text-indent: the first line offset of the HTML engine, taken from the side&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// the block starts from. Every case is drawn on a wide and on a narrow block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CSS text-indent: indented from the start side of the block&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Alpha beta gamma delta epsilon zeta eta theta iota kappa.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rtlbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR indent&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-indent:25mm&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR centered indent&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center;text-indent:25mm&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR hanging&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-indent:-4mm&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// em refers to the font size of the element, so these two indents are the same.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR indent 2em&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:14pt;text-indent:2em&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR indent 28pt&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;font-size:14pt;text-indent:28pt&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rtlbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL indent&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34; style=&amp;#34;text-indent:25mm&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rtlbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL centered indent&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34; style=&amp;#34;text-align:center;text-indent:25mm&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rtlbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// CSS text-indent each-line: the first line after each forced line break is also&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// indented, while the lines wrapped automatically are not. The dashed marks are the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// indented start (30pt from the block start).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CSS text-indent each-line: indented again after each forced line break&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one HTML case with the dashed indent marks on the wide and on the narrow block.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$next&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$indent&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100.0&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$blockx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$blockx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$indent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$blockx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$indent&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$next&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;First line&amp;lt;br&amp;gt;Second line&amp;lt;br&amp;gt;Third line&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each-line (all three lines on the mark)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:30pt each-line&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each-line 30pt (keyword first, same result)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:each-line 30pt&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;30pt (first line only)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:30pt&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each-line with wrapped lines (only the first line and the line after the break)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:30pt each-line&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$ltrbody&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br&amp;gt;Lambda mu nu xi.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each-line in pre (every line on the mark)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&amp;lt;pre style=&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\&amp;#34;&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;text-indent:30pt each-line&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\&amp;#34;&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;gt;First line&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;Second line&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;Third line&amp;lt;/pre&amp;gt;&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;30pt foo (invalid, no indent)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:30pt foo&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawIndentCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;30pt hanging (not supported, no indent)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-indent:30pt hanging&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Continuation flow: successive calls that carry on the same line.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$flowy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Continuation flow: each run starts where the previous one ended&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$runs&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Alpha beta gamma delta epsilon zeta.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Eta theta iota kappa.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lambda mu nu xi omicron pi rho sigma tau.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Upsilon phi chi psi omega.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$flowh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCurrentFont()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spacew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toUnit(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getCharWidth(&lt;span style="color:#a5d6ff"&gt;0x20&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$flowy&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$runs&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$run&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$run&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; offset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The next run continues after the last rendered line of this one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// getLastBBox() is that line, while getLastTextBBox() would be the box around&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// every line of the run, which reaches further right whenever the run wrapped.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$offset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spacew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$flowh&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$flowy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$flowh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$flowy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$markStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E084 : signature two phase cms</title><link>https://tcpdf.org/examples/E084_signature_two_phase_cms/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E084_signature_two_phase_cms/</guid><description>&lt;p&gt;Two-phase &lt;abbr title="Cryptographic Message Syntax"&gt;CMS&lt;/abbr&gt; signing, where a key service signs only the &lt;abbr title="Distinguished Encoding Rules"&gt;DER&lt;/abbr&gt; signed attributes and never receives the document.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered &lt;abbr title="Portable Document Format"&gt;PDF&lt;/abbr&gt;: &lt;a href="https://tcpdf.org/files/examples/E084_signature_two_phase_cms.pdf"&gt;E084_signature_two_phase_cms.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E084_signature_two_phase_cms.phps"&gt;E084_signature_two_phase_cms.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#digital-signatures"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/digital-signatures/"&gt;Digital Signatures&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E084_signature_two_phase_cms.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E084_signature_two_phase_cms.webp" alt="Page 1 of E084_signature_two_phase_cms.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E084_signature_two_phase_cms.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Two-phase CMS signing: the document side computes the ByteRange digest and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * CMS signed attributes, a key service signs those attributes without seeing the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * document, and the detached CAdES is assembled and injected here. The signing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * request crosses the boundary as an array, so the two phases can run in separate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * processes or requests.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-08-25&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, (string) \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Missing signing certificate: examples/data/cert/tcpdf.crt&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The document side needs the signing certificate, not the key: the certificate is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// public and a key service hands it out before the first signature.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$certPem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) \file_get_contents(&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$x509&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \openssl_x509_read(&lt;span style="color:#79c0ff"&gt;$certPem&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$x509&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unreadable signing certificate&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signerCertPem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\openssl_x509_export(&lt;span style="color:#79c0ff"&gt;$x509&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$signerCertPem&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signerCertDer&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Cms\Certificate&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;toDer(&lt;span style="color:#79c0ff"&gt;$signerCertPem&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The profile and the digest have to be the same on both sides: the PDF /SubFilter&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// comes from the profile, and the CMS message digest from the digest algorithm.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; profile&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Config&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PROFILE_PADES_B_B,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; digestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; certType&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\PdfConformance&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;None,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; objEncrypt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 084&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Two-Phase CMS Signing&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example signature two-phase cms cades hsm remote key&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;E084_signed_two_phase_cms.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableDefaultPageContent();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A4&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Placeholder only: signcert and privkey stay empty, no key is read here.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;external()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;configure([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;profile,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;digestAlgorithm,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;https://github.com/tecnickcom/tc-lib-pdf&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Remote key service&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two-Phase Signer&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two-phase CAdES signature over the ByteRange digest&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigPosX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;110.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigPosY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;250.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;place(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigPosX&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigPosY&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; page&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TwoPhaseSignature&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigStamp&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \gmdate(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Y-m-d H:i:s&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; UTC&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigTableHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;1&amp;#34; cellspacing=&amp;#34;0&amp;#34; style=&amp;#34;width:80mm; border-color:#183a66; color:#1f2a33; font-size:9pt;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;background-color:#d4e8ff;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;TWO-PHASE SIGNATURE&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;background-color:#a9d0ff;text-align:center;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;CAdES&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td colspan=&amp;#34;2&amp;#34; style=&amp;#34;background-color:#ffffcc;&amp;#34;&amp;gt;Signed attributes signed remotely&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;tr style=&amp;#34;background-color:#ccffcc;&amp;#34;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;&amp;#34;&amp;gt;Prepared:&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;td style=&amp;#34;width:40mm;text-align:center;&amp;#34;&amp;gt;&amp;lt;b&amp;gt;{$sigStamp}&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/tr&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/table&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$basefont&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTableHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigTopY&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigWidth&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigHeight&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;appearance()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;stream(stream&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$sigAppearance&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$instructionsHtml&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h1&amp;gt;Two-Phase CMS Signing (E084)&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;The private key signs the CMS signed attributes only. It never receives the document, and the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; document side never loads a key. The field uses the PAdES-BASELINE-B sub-filter&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;/ETSI.CAdES.detached&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Workflow&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Reserve the placeholder&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;signature()-&amp;amp;gt;external()-&amp;amp;gt;configure()&amp;lt;/code&amp;gt; with empty &amp;lt;code&amp;gt;signcert&amp;lt;/code&amp;gt; and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;privkey&amp;lt;/code&amp;gt;, plus &amp;lt;code&amp;gt;appearance()-&amp;amp;gt;place()&amp;lt;/code&amp;gt; for the visible widget.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Hash the ByteRange&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;signature()-&amp;amp;gt;external()-&amp;amp;gt;prepare(&amp;#39;sha256&amp;#39;)&amp;lt;/code&amp;gt; returns the prepared PDF bytes, the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;byte_range&amp;lt;/code&amp;gt; tuple, and the digest of the covered bytes.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Build the signing request&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;Signer::prepare()&amp;lt;/code&amp;gt; turns that digest and the signing certificate into a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;SigningRequest&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;Signer::signaturePayload()&amp;lt;/code&amp;gt; renders it as the DER&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; SET OF signed attributes (RFC 5652 section 5.4). &amp;lt;code&amp;gt;toArray()&amp;lt;/code&amp;gt; and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;fromArray()&amp;lt;/code&amp;gt; carry the request across a queue or a second HTTP request, with an&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; optional HMAC key.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Sign remotely&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; The key service signs the payload bytes and returns the raw signature. Nothing else about the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; document crosses that boundary.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Assemble and inject&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;Signer::buildFromSignature()&amp;lt;/code&amp;gt; rebuilds the same attributes, verifies the signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; against them, and emits the detached CAdES.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;signature()-&amp;amp;gt;external()-&amp;amp;gt;apply()&amp;lt;/code&amp;gt; writes it into the reserved&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;/Contents&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ol&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Difference from E075&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;p&amp;gt;Example E075 covers the case where a provider returns a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; complete CMS and the library only injects it, with a simulated payload that does not verify. Here the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; CMS is built locally around a signature made elsewhere, so the output is a real signature that a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; validator checks. The remote signer is simulated in-process with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;openssl_sign()&amp;lt;/code&amp;gt; over the bundled demo key, standing in for an HSM, a KMS, or a signing&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; service.&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Notes&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;The bundled certificate &amp;lt;code&amp;gt;examples/data/cert/tcpdf.crt&amp;lt;/code&amp;gt; is self-signed, so a viewer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; reports a valid signature from an untrusted signer. Sign with a CA-issued certificate for a trusted&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; chain.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;PAdES-BASELINE carries the signing time in the &amp;lt;code&amp;gt;/M&amp;lt;/code&amp;gt; entry, so the CMS signing-time&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; attribute is omitted; the profile decides this through the &amp;lt;code&amp;gt;Config&amp;lt;/code&amp;gt; passed to both&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; halves.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;A B-T or higher profile requires a timestamp client and transport in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;code&amp;gt;buildFromSignature()&amp;lt;/code&amp;gt;, and a larger reserved placeholder.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;h2&amp;gt;Run Modes&amp;lt;/h2&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CLI default:&amp;lt;/b&amp;gt; &amp;lt;code&amp;gt;save&amp;lt;/code&amp;gt; mode writes both prepared and signed files under &amp;lt;code&amp;gt;target/&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CLI explicit:&amp;lt;/b&amp;gt; &amp;lt;code&amp;gt;php examples/E084_signature_two_phase_cms.php save&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;render&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Web:&amp;lt;/b&amp;gt; append &amp;lt;code&amp;gt;?mode=save&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;?mode=render&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &amp;lt;/ul&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;HTML&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$instructionsHtml&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (string) (&lt;span style="color:#79c0ff"&gt;$argv&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff7b72"&gt;elseif&lt;/span&gt; (isset(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \is_string(&lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;])) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$_GET&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \strtolower(\trim(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\in_array(&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;], &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;render&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 1, document side: the ByteRange bytes and their digest.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;external()&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;prepare(&lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;digestAlgorithm);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signer&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Signer();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signingTime&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \time();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$request&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signer&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;prepare(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; messageDigest&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_raw&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; signerCertDer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signerCertDer&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; config&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; signingTime&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signingTime&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The request is the only state the two phases share. Exported with a key it carries&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// an HMAC, so a payload edited into another valid request is rejected on the way back.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$transportKey&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;demo-shared-secret&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$requestState&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$request&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;toArray(&lt;span style="color:#79c0ff"&gt;$transportKey&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$request&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Cms\SigningRequest&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;fromArray(&lt;span style="color:#79c0ff"&gt;$requestState&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$transportKey&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$payload&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signer&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signaturePayload(&lt;span style="color:#79c0ff"&gt;$request&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 2, key service: the bytes to sign are all it receives. Simulated here with the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// bundled demo key; a real deployment calls an HSM, a KMS, or a signing API.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$remoteSigner&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$bytes&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$privateKey&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \openssl_pkey_get_private(&lt;span style="color:#a5d6ff"&gt;&amp;#39;file://&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$certPath&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$privateKey&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Unreadable signing key&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$signature&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\openssl_sign(&lt;span style="color:#79c0ff"&gt;$bytes&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$signature&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$privateKey&lt;/span&gt;, OPENSSL_ALGO_SHA256)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;throw&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \RuntimeException(&lt;span style="color:#a5d6ff"&gt;&amp;#39;The remote signer failed to sign the payload&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signature&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawSignature&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$remoteSigner&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$payload&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Phase 1 again: the same attributes are derived from the request, the signature is&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// checked against them, and the detached CAdES comes out.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cms&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signer&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;buildFromSignature(request&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$request&lt;/span&gt;, signature&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawSignature&lt;/span&gt;, chainCertsDer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; [], config&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signConfig&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The CMS covers the ByteRange bytes, which are the prepared document without the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// /Contents gap. Verified before injection, so a mismatch surfaces here.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$verifiedCertDer&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Sign\Cms\SignedDataVerifier())&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;verify(&lt;span style="color:#79c0ff"&gt;$cms&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prepared_pdf&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;signature()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;external()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;apply(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; preparedPdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prepared_pdf&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; byteRange&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;byte_range&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; signature&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cms&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; encoding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Signature\ExternalSignatureEncoding&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Binary,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$mode&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;save&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/target&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#ff7b72;font-weight:bold"&gt;!&lt;/span&gt;\is_dir(&lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt;)) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \mkdir(&lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0o777&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/E084_prepared_unsigned_two_phase_cms.pdf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$targetDir&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/E084_signed_two_phase_cms.pdf&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \file_put_contents(&lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;prepared_pdf&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \file_put_contents(&lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (PHP_SAPI &lt;span style="color:#ff7b72;font-weight:bold"&gt;!==&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \header(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Content-Type: text/plain; charset=utf-8&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Prepared PDF: &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;{&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$preparedPath&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;}&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;Signed PDF: &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;{&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$signedPath&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;}&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Digest (&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;algorithm&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;, base64): &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prepared&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_base64&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Signed attributes: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \strlen(&lt;span style="color:#79c0ff"&gt;$payload&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; bytes&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Signature: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \strlen(&lt;span style="color:#79c0ff"&gt;$rawSignature&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; bytes&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CMS: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \strlen(&lt;span style="color:#79c0ff"&gt;$cms&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; bytes&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$verifiedCert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \openssl_x509_parse(\Com\Tecnick\Pdf\Sign\Cms\Certificate&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;derToPem(&lt;span style="color:#79c0ff"&gt;$verifiedCertDer&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;echo&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Verified against: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$verifiedCert&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; (string) &lt;span style="color:#79c0ff"&gt;$verifiedCert&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;]) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;exit&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$signedPdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E085 : bidi line break</title><link>https://tcpdf.org/examples/E085_bidi_line_break/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E085_bidi_line_break/</guid><description>&lt;p&gt;Reading order of mixed-direction text wrapped over several lines: RTL runs in LTR paragraphs, LTR runs in RTL paragraphs, truncation, page regions, and HTML page splits.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E085_bidi_line_break.pdf"&gt;E085_bidi_line_break.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E085_bidi_line_break.phps"&gt;E085_bidi_line_break.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E085_bidi_line_break.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E085_bidi_line_break.webp" alt="Page 1 of E085_bidi_line_break.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E085_bidi_line_break.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection grid for the reading order of mixed-direction text that&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * wraps over several lines: RTL runs in LTR paragraphs, LTR runs in RTL&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * paragraphs, truncation, page regions and HTML page splits.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-03&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 085&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Bidi Line Break Reading Order&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example bidi rtl ltr hebrew arabic line break reading order&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;085_bidi_line_break.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Every word of a run carries its number, so the reading order can be checked&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// without reading Hebrew or Arabic: the numbers of an RTL run grow from right to&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// left on each line, those of an LTR run from left to right, and the numbers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// continue from one line to the next.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns the numbered Hebrew words from $first to $last.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{05DE}\u{05D9}\u{05DC}\u{05D4}&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns the numbered Arabic words from $first to $last.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$arabic&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{0643}\u{0644}\u{0645}\u{0629}&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns the numbered Latin words from $first to $last.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$latin&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$words&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The metrics used to break the lines come from the current font of the stack,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// so each block selects its own font right before it is written.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The cell border shows the width the lines are broken to.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#4a5b70&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#ffffff&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;32.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;44.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$captionw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;210.0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a small text block (label or caption) at absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$halign&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$halign&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one labelled case with its expected result and returns the ordinate of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * the next one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @param array&amp;lt;string, mixed&amp;gt; $args Named arguments for addTextCell.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$captionw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$captionw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&lt;span style="color:#ff7b72;font-weight:bold"&gt;...&lt;/span&gt;\array_merge([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;posx&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;posy&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;styles&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ], &lt;span style="color:#79c0ff"&gt;$args&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastCellBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a page title and returns the ordinate of the first case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage(&lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;??&lt;/span&gt; []);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Text cells: runs of the opposite direction wrapping over several lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Mixed direction text wrapping over several lines&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL run in LTR text, 2 lines&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 1: &amp;#34;Start:&amp;#34;, then Hebrew words 1, 2, 3, ... read from right to left. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 2: the next Hebrew words, again growing from right to left, then &amp;#34;:end&amp;#34;.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL run in LTR text, 4 lines&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Each line holds the next Hebrew numbers, growing from right to left; the first line holds word 1.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR run in RTL text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL paragraph, right aligned. Line 1: Hebrew word 1 at the right edge, then w1, w2, ... &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;read from left to right. The w numbers continue on the next lines.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$latin&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;forcedir&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Arabic run in LTR text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Joined Arabic words 1, 2, 3, ... growing from right to left on each line, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;continuing on the next line. The lam-alef ligature is shaped.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$arabic&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; \u{0644}\u{0627} :end&amp;#34;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Every second word of the RTL run is in brackets. A bracket pair that directly&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// follows the LTR text would resolve to LTR and split the run (UAX #9 rule N0).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bracketed&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (\explode(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;)) &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bracketed&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;%&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;(&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$word&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Brackets in an RTL run&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Every second Hebrew word is in brackets. The numbers grow from right to left on each &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;line and continue on the next one; every bracket pair encloses its word.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bracketed&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two paragraphs&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Paragraph 1 (LTR): w1, w2, ... Paragraph 2 (RTL, starts with Hebrew): &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Hebrew word 1 at the right end of its first line, then 2, 3, ...&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$latin&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;)],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Break opportunities and truncation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Break opportunities and truncation in mixed direction text&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns([&lt;span style="color:#a5d6ff"&gt;&amp;#39;hyphen&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hy3phen&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;phena&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;phen1a&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ation&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a1tion&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Hyphens and zero width breaks&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Comma separated Hebrew words break after a comma, keeping the right to left &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;numbering across lines; the comma ending a line is drawn at its left end. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;hyphenation&amp;#34; breaks with a visible hyphen at the end of its line.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_replace(&lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; hyphenation hyphenation hyphenation hyphenation hyphenation&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;50.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTexHyphenPatterns([]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableZeroWidthBreakPoints(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Truncated RTL text&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Only the first lines fit: Hebrew words 1, 2, 3, ... from the right, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and the ellipsis at the left end of the last line. The text is cut by character, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;so the last kept word can be shortened (word 12 cut to &amp;#34;1&amp;#34;).&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;forcedir&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;halign&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Truncate,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Truncated LTR text with an RTL run&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Only the first lines fit: &amp;#34;Start:&amp;#34;, then Hebrew words 1, 2, 3, ... from the right. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The ellipsis ends the LTR paragraph, so it follows the RTL run at the right end of the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;last line.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fit&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; \Com\Tecnick\Pdf\TextFitMode&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Truncate,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// HTML: single text fragments, justification and a page split.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML paragraphs with mixed direction runs&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one labelled HTML block with its expected result and returns the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * ordinate of the next one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$captionw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$captionx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$captionw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;18.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;LTR paragraph&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line 1: &amp;#34;Start:&amp;#34;, then Hebrew words 1, 2, 3, ... from the right; the next lines continue the numbering.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Justified, with a following fragment&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Same order as above, justified line by line; the last line ends with &amp;#34;:end&amp;#34; and a bold &amp;#34;x&amp;#34;.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;text-align:justify&amp;#34;&amp;gt;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end &amp;lt;b&amp;gt;x&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawHtmlCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL block with an LTR run&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Right aligned. Hebrew word 1 at the right edge of line 1, then w1, w2, ... from left &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;to right, continuing on the next lines.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$latin&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Page split: the paragraph at the bottom of this page continues on the next page. Line by line the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Hebrew numbers keep growing from right to left, and the last line on the next page ends with &amp;#34;:end&amp;#34;.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;255.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Start: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; :end&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;268.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$cellStyle&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Page regions: a paragraph flowing from one column to the next.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regiony&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regionh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regionw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$regiontop&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Mixed direction paragraph flowing across two page regions&amp;#39;&lt;/span&gt;, [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;region&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regiony&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionh&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;115.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regiony&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionw&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionh&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RTL paragraph: the left column is filled first, then the text continues in the right column. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The Hebrew numbers and the w numbers continue across the column boundary: none is repeated &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;or missing.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$regiontop&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;190.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: addTextCell() coordinates are relative to the current page region&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$latin&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;54&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$regionw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Right,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; forcedir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Unicode\TextDirection&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Rtl,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E086 : cjk line break</title><link>https://tcpdf.org/examples/E086_cjk_line_break/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E086_cjk_line_break/</guid><description>&lt;p&gt;Line breaking of Chinese, Japanese, and Korean text without spaces, with the UAX #14 line start and end rules, word-break, white-space: nowrap, word joiners, enableIdeographicBreaks(), and the soft hyphen, zero width space, and wbr element controls.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E086_cjk_line_break.pdf"&gt;E086_cjk_line_break.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E086_cjk_line_break.phps"&gt;E086_cjk_line_break.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#multilingual-text"&gt;Multilingual Text&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E086_cjk_line_break.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E086_cjk_line_break.webp" alt="Page 1 of E086_cjk_line_break.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E086_cjk_line_break.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for the line breaking of Chinese, Japanese and Korean&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * text, which has no spaces between words, and of the line break controls&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * (soft hyphen, zero width space and &amp;lt;wbr&amp;gt;). Each case is drawn in a frame and&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * states the expected result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-09&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 086&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CJK Line Break&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example cjk chinese japanese korean line break kinsoku wbr&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;086_cjk_line_break.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The frame shows whether the wrapped lines stay inside the given width.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc2244&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;55.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;70.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;90.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a note in absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$labelw&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Adds a page with a title and returns the ordinate of the first case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws one HTML case inside a dashed frame and returns the ordinate of the next one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont_jp&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$minh&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$minh&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chinese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;天下皆知美之為美，斯惡已；皆知善之為善，斯不善已。故有無相生，難易相成，長短相形，高下相傾，音聲相和，前後相隨。&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$korean&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다.&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Text without spaces between words wraps inside the frame.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;CJK text: every line stays inside the dashed frame&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Japanese (expected: wrapped inside the frame)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Chinese (expected: wrapped inside the frame)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chinese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Korean (expected: wrapped inside the frame, between syllables)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$korean&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Latin and Japanese (expected: breaks between the scripts, the bracketed word kept together)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Unicode対応のテキストを「正しく」改行する。PDF文書のレイアウトでUnicodeの改行規則を使う。&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Line start and end rules (expected: no line starts with a comma, a full stop, a prolonged sound mark &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;or a small kana, no line ends with an opening bracket)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;あいうえおかきくけこさしすせ、そたちつてと「なにぬねの」はひふへほまみむめもゃゅょ。&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Japanese in a 50% table cell (expected: wrapped inside the cell)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;The quick brown fox jumps over the lazy dog.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont_jp&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// getTextCell() follows the same rules.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;getTextCell() (expected: wrapped inside the frame)&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont_jp&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastTextBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Rules that keep the text together or break it anywhere.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;word-break and the ideographic line breaks&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-break: keep-all (expected: one line that runs out of the frame)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;word-break:keep-all&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;white-space: nowrap (expected: one line that runs out of the frame)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;white-space:nowrap&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word joiners between the first four characters (expected: no break between them)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&amp;lt;p&amp;gt;吾\u{2060}輩\u{2060}は\u{2060}猫である。&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-break: break-all (expected: the long word broken at the frame edge)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;word-break:break-all&amp;#34;&amp;gt;Pneumonoultramicroscopicsilicovolcanoconiosis&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Pneumonoultramicroscopicsilicovolcanoconiosis&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont_jp&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableIdeographicBreaks(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableWordBreakFallback(&lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enableIdeographicBreaks(false) and enableWordBreakFallback(false) (expected: one line that runs out of the frame)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;unifont_jp&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$japanese&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableIdeographicBreaks(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;enableWordBreakFallback(&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Line break controls in Latin text: the same result with a core and a Unicode font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Line break controls: a core font and a Unicode font both break at the controls&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$controls&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;soft hyphen &amp;amp;amp;shy; (expected: breaks with a hyphen)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aaaaaaaaaa&amp;amp;shy;bbbbbbbbbb&amp;amp;shy;cccccccccc&amp;amp;shy;dddddddddd&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zero width space &amp;amp;amp;#8203; (expected: breaks without a hyphen)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aaaaaaaaaa&amp;amp;#8203;bbbbbbbbbb&amp;amp;#8203;cccccccccc&amp;amp;#8203;dddddddddd&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;amp;lt;wbr&amp;amp;gt; (expected: breaks without a hyphen)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aaaaaaaaaa&amp;lt;wbr&amp;gt;bbbbbbbbbb&amp;lt;wbr&amp;gt;cccccccccc&amp;lt;wbr&amp;gt;dddddddddd&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$controls&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \html_entity_decode(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;), &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$text&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$bbox&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$frameStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E087 : html table grid</title><link>https://tcpdf.org/examples/E087_html_table_grid/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E087_html_table_grid/</guid><description>&lt;p&gt;HTML table layout cases: keep-together tables, rows with different cell counts, row height estimates of spanning cells near the page bottom, and explicit cell heights.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E087_html_table_grid.pdf"&gt;E087_html_table_grid.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E087_html_table_grid.phps"&gt;E087_html_table_grid.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E087_html_table_grid.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E087_html_table_grid.webp" alt="Page 1 of E087_html_table_grid.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E087_html_table_grid.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for HTML table layout: keep-together tables, rows with&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * different cell counts, row height estimates of spanning cells near the page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * bottom, and explicit cell heights. Each case states the expected result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-09&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 087&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Table Grid&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html table colspan rowspan height page-break-inside&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;087_html_table_grid.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reference geometry drawn over the cases.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc2244&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a note in absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Adds a page with a title and returns the ordinate of the first case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Expected: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;26.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws a dashed line at the bottom of the current page region.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$markRegionBottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; () &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;205&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;region bottom&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;170&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 1: a table kept together is moved only when it does not fit.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$keepTable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;3&amp;#34;&amp;gt;&amp;lt;b&amp;gt;HEADING&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;3&amp;#34;&amp;gt;Subheading&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;br&amp;gt;sub description text&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;middle cell&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;right cell&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;2&amp;#34;&amp;gt;summary&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;sum&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page-break-inside: avoid&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style=&amp;#34;page-break-inside: avoid;&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nobr=&amp;#34;true&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nobr=&amp;#34;true&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$attr&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Keep-together tables (&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the first five tables fit on this page; the sixth does not fit and starts on the next page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markRegionBottom&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$attr&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; border=&amp;#34;1&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$keepTable&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;The sixth table, moved to this page as a whole.&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 2: rows with different cell counts share one column grid.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rows with different cell counts&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;every cell stays inside the dashed frame (the declared table width); the columns line up across rows.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$gridCases&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;later row with more cells&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rowspan in the first row&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;#34;2&amp;#34;&amp;gt;A (rowspan 2)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;B2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C3&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;widths on a later row&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;#34;20%&amp;#34;&amp;gt;A2 20%&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;30%&amp;#34;&amp;gt;B2 30%&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;C2 50%&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width on a new column&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B2&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;C2 50%&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colspan wider than the first row&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;4&amp;#34;&amp;gt;spans four columns&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;C3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;D3&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$gridCases&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;45&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastBBox()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$frame&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;59&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;142&lt;/span&gt;, \max(&lt;span style="color:#a5d6ff"&gt;10.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$frame&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; \max(&lt;span style="color:#a5d6ff"&gt;14.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 3: the row estimate of a spanning cell uses the width of all its columns.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spanText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit. &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colspan=&amp;#34;2&amp;#34; row near the page bottom&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;A&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;#34;50%&amp;#34;&amp;gt;B&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spanText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;single column reference&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$spanText&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Spanning cell near the page bottom: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 15mm above the region bottom and both of its rows stay on this page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$markRegionBottom&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 4: explicit cell heights set the minimum row height.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell height: the declared height is the minimum height of the row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each table row has the height in its label; the dashed line marks that height from the table top.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$heightCases&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;no height: content height&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td height=&amp;#34;100&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;height=&amp;#34;100&amp;#34; (100px = 26.46mm)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;26.46&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;height:100px;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style=&amp;#34;height:100px&amp;#34; (26.46mm)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;26.46&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;height:30mm;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;style=&amp;#34;height:30mm&amp;#34;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;height:1mm;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;height lower than the content: content height&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th style=&amp;#34;height:20mm;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;th with style=&amp;#34;height:20mm&amp;#34;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20.0&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$heightCases&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$tag&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \str_starts_with(&lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;th&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;td&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cell&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cell&amp;lt;/&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tag&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;gt;&amp;lt;td&amp;gt;second cell&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;if&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;62&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;188&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; \max(&lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;rowspan=&amp;#34;2&amp;#34; with style=&amp;#34;height:30mm&amp;#34;: the two rows share the height&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;#34;2&amp;#34; style=&amp;#34;height:30mm;&amp;#34;&amp;gt;spanning cell&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;row 1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;row 2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;62&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;188&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 5: narrow columns keep their text.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Narrow columns: words wider than a column&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;every text stays inside its column frame, except in the white-space: nowrap case, which never wraps.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Supercalifragilisticexpialidociousandevenlonger&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$narrowCases&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a word wider than the column is broken between two characters&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td width=&amp;#34;40&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; text&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next column&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hyphenated words break after a hyphen&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td width=&amp;#34;90&amp;#34;&amp;gt;Long-distance well-known state-of-the-art&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overflow-wrap: break-word, a 4-character word in a 25px column&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td width=&amp;#34;25&amp;#34; style=&amp;#34;overflow-wrap: break-word&amp;#34;&amp;gt;OW25 &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-break: break-all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td width=&amp;#34;60&amp;#34; style=&amp;#34;word-break: break-all&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; text&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;white-space: nowrap (overflows, as specified by CSS)&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td width=&amp;#34;40&amp;#34; style=&amp;#34;white-space: nowrap&amp;#34;&amp;gt;nowrap &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$longword&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$narrowCases&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cells&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$cells&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastHTMLCellEnd()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;automatic column widths: the bold header &amp;#34;Amount&amp;#34; is not broken&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;text-align:right&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \number_format(&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;*&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.34&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; cellspacing=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;thead&amp;gt;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;lt;th&amp;gt;#&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Amount&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 6: cell borders are drawn over the cell backgrounds.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Cell borders over cell backgrounds&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zoomed in (800%), every border keeps its full width over the backgrounds of the next rows.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$borderCases&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a 3px red bottom border above a grey row&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;border-bottom: 3px solid #ff0000;&amp;#34;&amp;gt;row 1 with a red bottom border&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color: #cccccc;&amp;#34;&amp;gt;row 2 with a grey background&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the same with border-collapse: collapse&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;border-collapse: collapse&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;border-bottom: 3px solid #ff0000;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;row 1 with a red bottom border&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color: #cccccc;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;row 2 with a grey background&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alternating backgrounds with 2px borders&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ddeeff;border:2px solid #0044aa&amp;#34;&amp;gt;blue row&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ffeedd;border:2px solid #aa4400&amp;#34;&amp;gt;orange row&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a cell spanning rows with a background&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;2&amp;#34; border=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;#34;2&amp;#34; style=&amp;#34;background-color:#ffcc00&amp;#34;&amp;gt;spanning&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;row 1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;row 2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a bordered table inside a cell with a background&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table cellpadding=&amp;#34;4&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ddffdd&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;2&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ffffff&amp;#34;&amp;gt;inner 1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#eeeeee&amp;#34;&amp;gt;inner 2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$borderCases&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;50&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastHTMLCellEnd()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6.0&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E088 : font subset modes</title><link>https://tcpdf.org/examples/E088_font_subset_modes/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E088_font_subset_modes/</guid><description>&lt;p&gt;The subsetting mode of a font used through text cells, HTML, and SVG in a document that does not subset by default, recorded after each step.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E088_font_subset_modes.pdf"&gt;E088_font_subset_modes.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E088_font_subset_modes.phps"&gt;E088_font_subset_modes.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#fonts"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/fonts/"&gt;Fonts&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E088_font_subset_modes.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E088_font_subset_modes.webp" alt="Page 1 of E088_font_subset_modes.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E088_font_subset_modes.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for the subsetting mode of fonts used through the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * text, HTML and SVG renderers in a document that does not subset by default.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-09&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The document does not subset fonts by default.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\Page\Unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Millimeter,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; isunicode&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subsetfont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compress&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 088&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Font Subset Modes&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example font subset mode html svg&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;088_font_subset_modes.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// FreeSerif is asked to be subset, FreeMono to be embedded whole.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$serif&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;freeserif&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mono&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;freemono&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Selects a font of the stack for the following text.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/** @var array&amp;lt;int, array{0: string, 1: bool}&amp;gt; $rows */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Records the subsetting mode of FreeSerif after a rendering step.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$record&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$serif&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getFont(&lt;span style="color:#79c0ff"&gt;$serif&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;])[&lt;span style="color:#a5d6ff"&gt;&amp;#39;subset&amp;#39;&lt;/span&gt;]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$record&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;after insert(subset: true)&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Font subset modes&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;freeserif&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Text cell in FreeSerif: the quick brown fox jumps over the lazy dog.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$record&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;after addTextCell()&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The HTML renderer inserts the fonts it uses without stating a subset mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family:freeserif;font-size:11pt;&amp;#34;&amp;gt;HTML cell in FreeSerif: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;regular and &amp;lt;span style=&amp;#34;font-size:14pt;&amp;#34;&amp;gt;larger&amp;lt;/span&amp;gt; text.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;34&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$record&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;after addHTMLCell()&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The SVG renderer also inserts its fonts without stating a subset mode.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$svg&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;@&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; width=&amp;#34;180&amp;#34; height=&amp;#34;12&amp;#34; viewBox=&amp;#34;0 0 180 12&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;text x=&amp;#34;0&amp;#34; y=&amp;#34;9&amp;#34; font-family=&amp;#34;freeserif&amp;#34; font-size=&amp;#34;9&amp;#34;&amp;gt;SVG text in FreeSerif.&amp;lt;/text&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$soid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addSVG(img&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$svg&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;48&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getSetSVG(soid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$soid&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$record&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;after addSVG()&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Summary: FreeSerif must stay subset after every step.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;font-family:helvetica;font-size:9pt;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;#34;50%&amp;#34;&amp;gt;FreeSerif step&amp;lt;/th&amp;gt;&amp;lt;th width=&amp;#34;25%&amp;#34;&amp;gt;subset&amp;lt;/th&amp;gt;&amp;lt;th width=&amp;#34;25%&amp;#34;&amp;gt;expected&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; [&lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$subset&lt;/span&gt;]) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$step&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;color:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$subset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#007700&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc0000&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$subset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;true&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;false&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;true&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$monosubset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getFont(&lt;span style="color:#79c0ff"&gt;$mono&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;])[&lt;span style="color:#a5d6ff"&gt;&amp;#39;subset&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;FreeMono, insert(subset: false)&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$monosubset&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;true&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;false&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;false&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;font-family:helvetica;font-size:9pt;&amp;#34;&amp;gt;Check the embedded fonts with &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;code&amp;gt;pdffonts&amp;lt;/code&amp;gt;: FreeSerif is listed as a subset (the name has a six-letter prefix &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and the &amp;#34;sub&amp;#34; column is &amp;#34;yes&amp;#34;), FreeMono is embedded whole.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;64&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;freemono&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FreeMono text, embedded whole.&amp;#39;&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;130&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E089 : import empty resources</title><link>https://tcpdf.org/examples/E089_import_empty_resources/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E089_import_empty_resources/</guid><description>&lt;p&gt;Importing pages with an empty resource dictionary, with none, and with a font resource, from a source PDF built inline: each page becomes a Form XObject with a valid /Resources entry.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E089_import_empty_resources.pdf"&gt;E089_import_empty_resources.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E089_import_empty_resources.phps"&gt;E089_import_empty_resources.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#importing-existing-pdfs"&gt;Importing Existing PDFs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/pdf-import/"&gt;PDF Import&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E089_import_empty_resources.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E089_import_empty_resources.webp" alt="Page 1 of E089_import_empty_resources.pdf" width="800" height="1134" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E089_import_empty_resources.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Imports the pages of a small source PDF that is built inline: a page with an&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * empty resource dictionary, a page without a resource dictionary and a page&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * with a font resource. Each imported page is a Form XObject with a valid&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * /Resources dictionary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-09&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 1: build the source PDF ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns the body of an unfiltered stream object.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$stream&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;static&lt;/span&gt; fn(string &lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Length &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \strlen(&lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; &amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;stream&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$data&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;endstream&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A5 pages. The first two contents only paint paths, so they need no resources.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$objects&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Catalog /Pages 2 0 R &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Pages /Kids [3 0 R 5 0 R 7 0 R] /Count 3 /MediaBox [0 0 420 595] &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Page /Parent 2 0 R /Resources &amp;lt;&amp;lt; &amp;gt;&amp;gt; /Contents 4 0 R &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$stream&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#34;0.85 0.90 1 rg 40 40 340 515 re f&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0 0 0.6 RG 4 w 40 40 340 515 re S&amp;#34;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Page /Parent 2 0 R /Contents 6 0 R &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$stream&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#34;1 0.92 0.80 rg 40 40 340 515 re f&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0.6 0.3 0 RG 4 w 40 40 340 515 re S&amp;#34;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Page /Parent 2 0 R /Resources &amp;lt;&amp;lt; /Font &amp;lt;&amp;lt; /F1 9 0 R &amp;gt;&amp;gt; &amp;gt;&amp;gt; /Contents 8 0 R &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$stream&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#34;0.85 1 0.85 rg 40 40 340 515 re f&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;BT /F1 18 Tf 60 500 Td (Source page 3: font resource) Tj ET&amp;#34;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;&amp;lt; /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding &amp;gt;&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;%PDF-1.7&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xref&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$objects&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$xref&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; \sprintf(&lt;span style="color:#a5d6ff"&gt;&amp;#34;%010d 00000 n &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;, \strlen(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; 0 obj&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$body&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;endobj&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$xrefStart&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \strlen(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$objects&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;xref&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0 &amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0000000000 65535 f &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$xref&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;trailer&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;lt;&amp;lt; /Size &amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34; /Root 1 0 R &amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;startxref&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$xrefStart&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;%%EOF&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\n&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ---- Step 2: import every page into a new document ----&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 089&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Import Pages With Empty Resources&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example import empty resources form xobject&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;089_import_empty_resources.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setImportSourceData(&lt;span style="color:#79c0ff"&gt;$sourcePdfData&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$labels&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Source page 1: /Resources &amp;lt;&amp;lt; &amp;gt;&amp;gt;. Expected: blue frame.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Source page 2: no /Resources key. Expected: orange frame.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Source page 3: font resource. Expected: green frame and the source text.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$labels&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pageNum&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPageFromImport(&lt;span style="color:#79c0ff"&gt;$sourceId&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pageNum&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;108&lt;/span&gt;, drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Every imported page is a Form XObject with a /Resources dictionary: &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the file opens without errors and &amp;#34;qpdf --check&amp;#34; reports no warnings.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;150&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;108&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; drawcell&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;false&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E090 : reproducible output</title><link>https://tcpdf.org/examples/E090_reproducible_output/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E090_reproducible_output/</guid><description>&lt;p&gt;Byte-identical output from pinned document dates, file identifier, and page times, including the pages added by page breaks, which take the modification date.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E090_reproducible_output.pdf"&gt;E090_reproducible_output.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E090_reproducible_output.phps"&gt;E090_reproducible_output.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#standards-and-conformance"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/standards/"&gt;Standards and Conformance&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E090_reproducible_output.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E090_reproducible_output.webp" alt="Page 1 of E090_reproducible_output.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E090_reproducible_output.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Reproducible output: pinned document dates, file identifier and page times.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * The pages added by a page break take the document modification date, so the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * same input always produces the same bytes. The last page lists the time of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * every page next to the expected one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-09&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 090&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Reproducible Output&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example reproducible output page time file id&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;090_reproducible_output.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Pinned values: the modification date is also the time of the pages added without one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$created&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1_600_000_000&lt;/span&gt;; &lt;span style="color:#8b949e;font-style:italic"&gt;// 2020-09-13 12:26:40 UTC&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$modified&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1_700_000_000&lt;/span&gt;; &lt;span style="color:#8b949e;font-style:italic"&gt;// 2023-11-14 22:13:20 UTC&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1_650_000_000&lt;/span&gt;; &lt;span style="color:#8b949e;font-style:italic"&gt;// 2022-04-15 05:20:00 UTC&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDocCreationDate(&lt;span style="color:#79c0ff"&gt;$created&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setDocModificationDate(&lt;span style="color:#79c0ff"&gt;$modified&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setFileId(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf-example-090&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The first page has an explicit time.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h1&amp;gt;Reproducible output&amp;lt;/h1&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;The creation date, the modification date and the file identifier are pinned. The first page has&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; an explicit time; the pages added by the page breaks below take the modification date.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$par&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$par&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$par&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Paragraph &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$par&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;. &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \str_repeat(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, consectetur adipiscing elit. &amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A page with the epoch as explicit time.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;This page has the explicit time 0 (1970-01-01 00:00:00 UTC).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Summary page: the time of every page next to the expected one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPages();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lastpid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \count(&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pages&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;match&lt;/span&gt; (&lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$lastpid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;default&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$modified&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; };&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#007700&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc0000&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pid&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td style=&amp;#34;color:&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$color&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \gmdate(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Y-m-d H:i:s&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$page&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt;])&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; \gmdate(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Y-m-d H:i:s&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; html&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Page times (UTC)&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;#34;20%&amp;#34;&amp;gt;page&amp;lt;/th&amp;gt;&amp;lt;th width=&amp;#34;40%&amp;#34;&amp;gt;/LastModified&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th width=&amp;#34;40%&amp;#34;&amp;gt;expected&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Running this example twice produces identical files (for example, compare them with cmp).&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E091 : html inline alignment</title><link>https://tcpdf.org/examples/E091_html_inline_alignment/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E091_html_inline_alignment/</guid><description>&lt;p&gt;Horizontal alignment of HTML lines made of several inline fragments: centered, right-aligned and justified lines with inline elements, left-to-right and right-to-left, each case framed with its center guide and expected result.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E091_html_inline_alignment.pdf"&gt;E091_html_inline_alignment.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E091_html_inline_alignment.phps"&gt;E091_html_inline_alignment.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E091_html_inline_alignment.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E091_html_inline_alignment.webp" alt="Page 1 of E091_html_inline_alignment.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E091_html_inline_alignment.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for the horizontal alignment of HTML lines made of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * several inline fragments, left-to-right and right-to-left. Each case states the&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * expected result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-10&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 091&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Inline Alignment&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html text-align center right justify rtl inline&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;091_html_inline_alignment.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reference geometry drawn over the cases.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc2244&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a note in absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Adds a page with a title and returns the ordinate of the first case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Expected: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;26.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Draws a case: a label, the HTML in a 60 mm box at x = 80 mm, the box frame and a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * dashed guide on its center. Returns the ordinate of the next case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$label&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \max(&lt;span style="color:#a5d6ff"&gt;8.0&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastHTMLCellEnd()[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRect(&lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, [&lt;span style="color:#a5d6ff"&gt;&amp;#39;all&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;]));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;110&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$height&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Lorem ipsum dolor sit amet, &amp;lt;b&amp;gt;consectetur&amp;lt;/b&amp;gt; adipiscing elit, sed do eiusmod&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 1: left-to-right lines with inline elements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Alignment of lines with inline elements&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;centered lines are symmetric about the dashed center guide; right-aligned lines end at the right edge.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center: a line ending before an inline element&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;right: a line ending before an inline element&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:right&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center: table cell with align=&amp;#34;center&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#34;center&amp;#34;&amp;gt;Lorem ipsum dolor sit amet, &amp;lt;b&amp;gt;consectetur&amp;lt;/b&amp;gt; adipiscing elit&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center: the last line of a wrapped fragment is followed by &amp;#34;do&amp;#34; in bold&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;b&amp;gt;do&amp;lt;/b&amp;gt; eiusmod tempor&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center: italic start, then a wrapped fragment followed by &amp;#34;elit&amp;#34; in bold&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;&amp;lt;i&amp;gt;Lorem ipsum&amp;lt;/i&amp;gt; dolor sit amet, consectetur adipiscing &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;b&amp;gt;elit&amp;lt;/b&amp;gt; sed do&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;center: a wrapped fragment followed by a line break, then an inline element&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:center&amp;#34;&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;eiusmod &amp;lt;b&amp;gt;tempor&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;justify (reference): every line but the last fills the box&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div style=&amp;#34;text-align:justify&amp;#34;&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;b&amp;gt;do&amp;lt;/b&amp;gt; eiusmod tempor incididunt ut labore et dolore magna aliqua&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 2: right-to-left runs with inline elements.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Alignment of right-to-left runs with inline elements&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each line follows text-align as the reference without inline elements; fragments are one space apart.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{05D0}\u{05D1}\u{05D2}\u{05D3} \u{05D4}\u{05D5}\u{05D6}\u{05D7} \u{05D8}\u{05D9}\u{05DA}\u{05DB} &amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;\u{05DC}\u{05DD}\u{05DE}\u{05DF} \u{05E0}\u{05E1}\u{05E2}\u{05E3}&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$mixed&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;lt;b&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/b&amp;gt; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rtl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34; style=&amp;#34;font-family:dejavusans;text-align:&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;foreach&lt;/span&gt; ([&lt;span style="color:#a5d6ff"&gt;&amp;#39;center&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;left&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;right&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;justify&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72"&gt;as&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$align&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Hebrew, &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$align&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;, without inline elements (reference)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rtl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$align&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$hebrew&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Hebrew, &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$align&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;, with a bold fragment&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rtl&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$align&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$mixed&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dejavusans&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawCase&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Latin text in a right-to-left block, center&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;div dir=&amp;#34;rtl&amp;#34; style=&amp;#34;text-align:center&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lorem&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E092 : html table row split</title><link>https://tcpdf.org/examples/E092_html_table_row_split/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E092_html_table_row_split/</guid><description>&lt;p&gt;HTML table rows taller than a page continuing on the next pages (with backgrounds, a repeated table head, a keep-together table and a link), and cells spanning rows over a page break, with the expected result of each case.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E092_html_table_row_split.pdf"&gt;E092_html_table_row_split.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E092_html_table_row_split.phps"&gt;E092_html_table_row_split.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E092_html_table_row_split.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E092_html_table_row_split.webp" alt="Page 1 of E092_html_table_row_split.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E092_html_table_row_split.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for HTML table rows taller than a page, which continue&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * on the next pages, for cells spanning rows over a page break, and for table heads&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * and captions near the page bottom. Each case states the expected result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-10&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 092&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Table Row Split&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html table row page break rowspan nobr thead caption&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;092_html_table_row_split.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Reference geometry drawn over the cases.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;butt&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miter&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#cc2244&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a note in absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Adds a page with a title and a mark at the region bottom, and returns the ordinate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * of the case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The pages added by the page breaks keep these margins.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;]]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Expected: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;190&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;graph&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLine(&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;205&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$bottom&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$guideStyle&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;36.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns numbered lines joined with line breaks.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$prefix&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;[] &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$prefix&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; \implode(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$out&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 1: rows taller than a page.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A row taller than a page continues on the next page&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the row starts on this page; lines 1 to 120 follow without gaps; no bottom edge before the break &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;and no top edge after it.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Two cells of different heights, with a table head&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;both cells keep their background on every page; the head repeats at the top of the next page; the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;next row starts below the taller cell.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;thead&amp;gt;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;lt;th&amp;gt;Column A&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;Column B&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ffeecc&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#34;background-color:#ccddff&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;next row&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;next row&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reference: a row that fits an empty page moves to the next page whole&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;this page holds no part of the table; the 60 lines are together on the next page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;80&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Keep-together table taller than a page (nobr=&amp;#34;true&amp;#34;)&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table cannot be kept together, so it starts on this page and continues on the next one.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; nobr=&amp;#34;true&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;120&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A link in the continuation of a split row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the link at the end of the cell is on the next page, and it is active there.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$lines&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Line&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;&amp;lt;a href=&amp;#34;https://tcpdf.org&amp;#34;&amp;gt;link to tcpdf.org&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 2: cells spanning rows over a page break.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns a table whose first cell spans the given number of rows.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$spanTable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td rowspan=&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#34; style=&amp;#34;background-color:#ffcc00&amp;#34;&amp;gt;spanning cell&amp;lt;/td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;td&amp;gt;row &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;br /&amp;gt;second line&amp;lt;br /&amp;gt;third line&amp;lt;br /&amp;gt;fourth line&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;last&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;row&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Rows spanned by a cell, near the page bottom&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the six rows and the spanning cell move together to the next page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$spanTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A cell spanning more rows than a page holds&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the spanning cell is on every page of its rows, with its background, without a bottom edge before a &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;break or a top edge after it; rows 1 to 40 follow without gaps.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$spanTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;40&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Part 3: table heads and captions near the page bottom.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns a table with a head, the given body rows and an optional caption.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$headTable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$caption&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;row &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;text &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$caption&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;thead&amp;gt;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;lt;th&amp;gt;Column A&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Column B&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;lt;tbody&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A table head that does not fit above the page bottom&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 3 mm above the dashed line; this page holds no part of it; the next page starts with &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the head drawn once, followed by rows 1 to 6.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$headTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A table head that fits above the page bottom without its first row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 8 mm above the dashed line; the head is not left alone on this page; the next page &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;starts with the head drawn once, followed by rows 1 to 6.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$headTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A top caption that fits above the page bottom without the first row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 12 mm above the dashed line; the caption is not left alone on this page; the next &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page starts with the caption, then the head, followed by rows 1 to 6.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$headTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;caption&amp;gt;Top caption&amp;lt;/caption&amp;gt;&amp;#39;&lt;/span&gt;), &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A bottom caption that does not fit below the last row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 28 mm above the dashed line; this page holds the head and rows 1 to 3; the next page &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;starts with the repeated head, followed by row 4 and the caption below it; nothing is drawn below the &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashed line.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headTable&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;caption style=&amp;#34;caption-side:bottom&amp;#34;&amp;gt;Bottom caption&amp;lt;/caption&amp;gt;&amp;#39;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns a table of three columns with the given table attributes and head row.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$headColumnsTable&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$tableattr&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$headrow&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$num&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Item &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;.00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tableattr&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;gt;&amp;lt;thead&amp;gt;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$headrow&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;lt;tbody&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A repeated table head with percentage widths on the head cells&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table starts 30 mm above the dashed line; the head repeated on the next page has the same column &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;widths as the body rows below it and as the head on this page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headColumnsTable&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th style=&amp;#34;width: 25%&amp;#34;&amp;gt;Item&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th style=&amp;#34;width: 15%&amp;#34;&amp;gt;Price&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A repeated table head of a table with margins&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the table has a 20 px top and bottom margin and starts 30 mm above the dashed line; the head repeated on &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the next page touches the first body row.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getRegion();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$headColumnsTable&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34; style=&amp;#34;margin: 20px 0&amp;#34;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;th&amp;gt;Item&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$region&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;] &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E093 : html large table</title><link>https://tcpdf.org/examples/E093_html_large_table/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E093_html_large_table/</guid><description>&lt;p&gt;A large HTML table written in one &lt;code&gt;addHTMLCell()&lt;/code&gt; call and in chunks continued with &lt;code&gt;getLastHTMLCellEnd()&lt;/code&gt;, with the page count and the peak memory of each method.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E093_html_large_table.pdf"&gt;E093_html_large_table.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E093_html_large_table.phps"&gt;E093_html_large_table.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E093_html_large_table.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E093_html_large_table.webp" alt="Page 1 of E093_html_large_table.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E093_html_large_table.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * A large HTML table written in one addHTMLCell() call, then the same rows written in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * chunks, each one continuing below the previous one with getLastHTMLCellEnd(). The&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * last page lists the row and page counts and the peak memory of each method.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-10&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 093&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Large Table&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html table large memory chunk getLastHTMLCellEnd&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;093_html_large_table.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1000&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chunk&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$margins&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;]];&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Returns the table rows from $first to $last.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$getRows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (int &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;, int &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$last&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Row &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lorem ipsum&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;dolor sit amet&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1,00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$html&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$head&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr style=&amp;#34;background-color:#cccccc&amp;#34;&amp;gt;&amp;lt;th&amp;gt;Row&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Text&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Text&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// One call for the whole table.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage(&lt;span style="color:#79c0ff"&gt;$margins&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\gc_collect_cycles();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\memory_reset_peak_usage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$start&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \memory_get_usage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;One addHTMLCell() call&amp;lt;/h2&amp;gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$head&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getRows&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$singlePeak&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \memory_get_peak_usage() &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$start&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$singlePages&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId() &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The same rows in chunks: each call continues below the previous one.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage(&lt;span style="color:#79c0ff"&gt;$margins&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\gc_collect_cycles();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\memory_reset_peak_usage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$start&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \memory_get_usage();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;addHTMLCell() calls of &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chunk&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; rows&amp;lt;/h2&amp;gt;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chunk&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$end&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getLastHTMLCellEnd();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCurrentPage(&lt;span style="color:#79c0ff"&gt;$end&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;page&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;2&amp;#34;&amp;gt;&amp;lt;thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$head&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/thead&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$getRows&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt;, \min(&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$first&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$chunk&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$end&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chunkPeak&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \memory_get_peak_usage() &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$start&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$chunkPages&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getPageId() &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$firstPage&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// Summary.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage(&lt;span style="color:#79c0ff"&gt;$margins&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$summary&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \sprintf(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;h2&amp;gt;Summary&amp;lt;/h2&amp;gt;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Rows&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pages&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Peak memory&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;one call&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.1f MB&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;calls of %d rows&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%.1f MB&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;lt;p&amp;gt;Expected: the rows of both tables are numbered without gaps or overlaps; the chunked &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;table continues right below each previous chunk. The peak memory depends on the PHP version.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$singlePages&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$singlePeak&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1_048_576&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chunk&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chunkPages&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$chunkPeak&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1_048_576&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&lt;span style="color:#79c0ff"&gt;$summary&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Example E094 : html page breaks</title><link>https://tcpdf.org/examples/E094_html_page_breaks/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://tcpdf.org/examples/E094_html_page_breaks/</guid><description>&lt;p&gt;Page breaks requested by the HTML content: &lt;code&gt;page-break-before&lt;/code&gt; on a row of a styled table and on a paragraph, and the tcpdf &lt;code&gt;pageBreak&lt;/code&gt; tag, with the expected result of each case.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rendered PDF: &lt;a href="https://tcpdf.org/files/examples/E094_html_page_breaks.pdf"&gt;E094_html_page_breaks.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;PHP source: &lt;a href="https://tcpdf.org/files/examples/E094_html_page_breaks.phps"&gt;E094_html_page_breaks.phps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;All examples: &lt;a href="https://tcpdf.org/examples/"&gt;/examples/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Category: &lt;a href="https://tcpdf.org/examples/#html-and-css"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Guide: &lt;a href="https://tcpdf.org/docs/html-css/"&gt;HTML and CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2&gt;PDF&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://tcpdf.org/files/examples/E094_html_page_breaks.pdf"&gt;&lt;img src="https://tcpdf.org/files/examples/E094_html_page_breaks.webp" alt="Page 1 of E094_html_page_breaks.pdf" width="800" height="1132" style="border:1px solid #ccc"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2&gt;Source Code&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;?&lt;/span&gt;php&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;declare&lt;/span&gt;(strict_types&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * E094_html_page_breaks.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Visual inspection sheet for page breaks requested by the HTML content: CSS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * page-break-before inside a styled table, and the tcpdf pageBreak tag. Each case&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * states the expected result.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @since 2026-10-10&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @category Library&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @package Pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @author Nicola Asuni &amp;lt;info@tecnick.com&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @copyright 2002-2026 Nicola Asuni - Tecnick.com LTD&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * @link https://github.com/tecnickcom/tc-lib-pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; *&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * This file is part of tc-lib-pdf software library.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: local file reads (images, fonts, attachments) are restricted to an allowlist of&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// trusted paths that covers this package tree, so run the examples in place. To read assets&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// from other locations, list them in the &amp;#39;allowedPaths&amp;#39; entry of the fileOptions constructor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// parameter (see E047_remote_resources_security.php).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// NOTE: run make fonts in the project root to generate the dependencies and example fonts.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// autoloader when using Composer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;require&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/autoload.php&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// define fonts directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\define(&lt;span style="color:#a5d6ff"&gt;&amp;#39;K_PATH_FONTS&amp;#39;&lt;/span&gt;, \realpath(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__DIR__&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts&amp;#39;&lt;/span&gt;));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;new&lt;/span&gt; \Com\Tecnick\Pdf\Tcpdf();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setCreator(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setAuthor(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Nicola Asuni&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setSubject(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tc-lib-pdf example: 094&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setTitle(&lt;span style="color:#a5d6ff"&gt;&amp;#39;HTML Page Breaks&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setKeywords(&lt;span style="color:#a5d6ff"&gt;&amp;#39;TCPDF tc-lib-pdf example html page-break-before tcpdf pagebreak table&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;setPDFFilename(&lt;span style="color:#a5d6ff"&gt;&amp;#39;094_html_page_breaks.pdf&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;font&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;insert(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;pon, &lt;span style="color:#79c0ff"&gt;$family&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$font&lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Writes a note in absolute page coordinates.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, float &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; void {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$style&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$size&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;page&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addContent(&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getTextCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; txt&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$txt&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posx&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; posy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$width&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextVAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Top,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; halign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; \Com\Tecnick\Pdf\TextHAlign&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Left,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ));&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;/**&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; * Adds a page with 15 mm margins and a title, and returns the ordinate of the case.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt; */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;function&lt;/span&gt; (string &lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, string &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;) &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;, &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;)&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// The pages added by the page breaks keep these margins.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addPage([&lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;]]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#79c0ff"&gt;$title&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$note&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;Expected: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$expected&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;22&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72"&gt;return&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;35.0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A page break before a row of a table with a background and a border.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page-break-before on a table row&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rows 1 to 3 on this page and rows 4 to 6 at the top margin of the next page, &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;each part with the table background and frame.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;for&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;; &lt;span style="color:#ff7b72;font-weight:bold"&gt;++&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;tr&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; (&lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;===&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39; style=&amp;#34;page-break-before:always&amp;#34;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;gt;&amp;lt;td&amp;gt;row &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$idx&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;second column&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;table border=&amp;#34;1&amp;#34; cellpadding=&amp;#34;3&amp;#34; style=&amp;#34;background-color:#ddeeff&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rows&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;/table&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// The tcpdf page break tag.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#39;tcpdf pageBreak tag&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;the paragraph after the tag starts at the top margin of the next page.&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Paragraph before the tag.&amp;lt;/p&amp;gt;&amp;lt;tcpdf method=&amp;#34;pagebreak&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Paragraph after the tag, at the top of the page.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tcpdf pageBreak tag with a pagebreak attribute&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;one page break only: the paragraph after the tag is on the next page, which is not preceded by an empty page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Paragraph before the tag.&amp;lt;/p&amp;gt;&amp;lt;tcpdf method=&amp;#34;pagebreak&amp;#34; pagebreak=&amp;#34;true&amp;#34; /&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;Paragraph after the tag, on the page right after this one.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// A forced page break continues at the top margin.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// ----------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$posy&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$drawTitle&lt;/span&gt;(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page-break-before on a paragraph of a block that starts low on the page&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;the second paragraph is at the top margin of the next page, not 100 mm down as on this page.&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$selectFont&lt;/span&gt;();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;addHTMLCell(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p&amp;gt;First paragraph, 100 mm from the top of the page.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;lt;p style=&amp;#34;page-break-before:always&amp;#34;&amp;gt;Second paragraph, at the top margin.&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;180&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// =============================================================&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;getOutPDFString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#79c0ff"&gt;$pdf&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;renderPDF(rawpdf&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$rawpdf&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>TCPDF</title><link>https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF/</link><pubDate>Mon, 02 Nov 2026 17:09:42 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF/</guid><description>&lt;pre tabindex="0"&gt;&lt;code&gt;class TCPDF&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf.php#L41"&gt;tcpdf.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; mixed $_orientation = &amp;#39;P&amp;#39;,&#10; mixed $_unit = &amp;#39;mm&amp;#39;,&#10; mixed $_format = &amp;#39;A4&amp;#39;,&#10; mixed $_unicode = true,&#10; mixed $_encoding = &amp;#39;UTF-8&amp;#39;,&#10; mixed $_diskcache = false,&#10; mixed $_pdfa = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$_orientation&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_unit&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_format&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_unicode&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_encoding&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_diskcache&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_pdfa&lt;/code&gt; (mixed)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf.php#L347"&gt;tcpdf.php:347&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method___destruct"&gt;__destruct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __destruct()&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf.php#L393"&gt;tcpdf.php:393&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method___get"&gt;__get()&lt;/h3&gt;&#10;&lt;p&gt;Legacy protected properties historically read by TCPDF subclasses&#10;(e.g. $this-&amp;gt;AutoPageBreak, $this-&amp;gt;lMargin), mapped to facade state.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __get(mixed $name)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>TCPDF_ENGINE</title><link>https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF-ENGINE/</link><pubDate>Mon, 02 Nov 2026 17:09:42 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF-ENGINE/</guid><description>&lt;pre tabindex="0"&gt;&lt;code&gt;class TCPDF_ENGINE extends Tcpdf&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/"&gt;Tcpdf&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf.php#L8900"&gt;tcpdf.php:8900&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_pagecontexthook"&gt;$pagecontexthook&lt;/h3&gt;&#10;&lt;p&gt;Facade callback returning the raw PDF operators for the ambient text&#10;state to prepend to every new page content stream.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public callable|null $pagecontexthook = \null&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf.php#L8908"&gt;tcpdf.php:8908&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_closeCellBBoxWindow"&gt;closeCellBBoxWindow()&lt;/h3&gt;&#10;&lt;p&gt;Stop counting and return the number of cell bounding boxes added since&#10;the window was opened, and their largest bottom edge ordinate (-INF when&#10;none was added).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public closeCellBBoxWindow(int $window): array{count: int, bottom: float}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$window&lt;/code&gt; (int)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array{count: int, bottom: float}&lt;/p&gt;</description></item><item><title>Base</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Base/</link><pubDate>Mon, 02 Nov 2026 17:03:35 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Base/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Base&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Base.php#L715"&gt;src/Base.php:715&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Output PDF data&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TViewerPref"&gt;TViewerPref&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HideToolbar&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HideMenubar&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HideWindowUI&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FitWindow&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CenterWindow&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DisplayDocTitle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NonFullScreenPageMode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Direction&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ViewArea&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ViewClip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintArea&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintClip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintScaling&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Duplex&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PickTrayByPDFSize&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PrintPageRange&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;NumCopies&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TBBox"&gt;TBBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#8b949e;font-style:italic"&gt;// left position&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#8b949e;font-style:italic"&gt;// top position&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#8b949e;font-style:italic"&gt;// width&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#8b949e;font-style:italic"&gt;// height&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TStackUnitBBox"&gt;TStackUnitBBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TBBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TStackTextBBox"&gt;TStackTextBBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TBBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TStackCellBBox"&gt;TStackCellBBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TBBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cell side values (Top, Right, Bottom, Left) in internal points&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TCellBound"&gt;TCellBound&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cell definition&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt; values are expressed in internal points &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;not&lt;/span&gt; in&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user units&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;use&lt;/span&gt; toPoints() to convert them from the current unit&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The setDefaultCellMargin() &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; setDefaultCellPadding() methods take user units&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; perform the conversion internally&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TCellDef"&gt;TCellDef&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TCellBound,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TCellBound,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;borderpos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TRefUnitValues"&gt;TRefUnitValues&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rootsize&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zerowidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;viewport&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TCustomXMP"&gt;TCustomXMP&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF.rdf:Description&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THybridDoc"&gt;THybridDoc&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;doctype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;version&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;conformance&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;uri&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;schema&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TXMPProperties"&gt;TXMPProperties&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;list&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; category&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; description&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valueType&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TPdfUaStructKid"&gt;TPdfUaStructKid&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;elem&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;mcid&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; id&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TPdfUaStructElem"&gt;TPdfUaStructElem&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; role&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mcids&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int[],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kids&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TPdfUaStructKid[],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; alt&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; annots&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int[],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; attr&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bbox&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lang&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; refpid&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; required&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFileOptions"&gt;TFileOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; allowedHosts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxRemoteSize&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; curlopts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; defaultCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fixedCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; allowedPaths&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; markupAllowedPaths&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFourFloat"&gt;TFourFloat&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotQuadPoint"&gt;TAnnotQuadPoint&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotBorderStyle"&gt;TAnnotBorderStyle&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotBorderEffect"&gt;TAnnotBorderEffect&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMeasure"&gt;TAnnotMeasure&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMarkup"&gt;TAnnotMarkup&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;popup&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ca&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;creationdate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;irt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subj&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotStates"&gt;TAnnotStates&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marked&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;review&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotText"&gt;TAnnotText&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;open&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;state&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;statemodel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TUriAction"&gt;TUriAction&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;uri&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ismap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotActionDict"&gt;TAnnotActionDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;next&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotAdditionalActionDict"&gt;TAnnotAdditionalActionDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;e&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;u&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fo&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bi&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;po&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pv&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pi&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotLink"&gt;TAnnotLink&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dest&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pa&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TUriAction,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TAnnotQuadPoint&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotFreeText"&gt;TAnnotFreeText&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;q&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ds&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;be&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderEffect,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rd&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;le&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotLine"&gt;TAnnotLine&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;le&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ll&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llo&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cp&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;measure&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotMeasure,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;co&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotSquare"&gt;TAnnotSquare&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;be&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderEffect,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rd&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotCircle"&gt;TAnnotCircle&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotSquare&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotPolygon"&gt;TAnnotPolygon&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertices&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;le&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;be&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderEffect,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;it&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;measure&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotMeasure,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotPolyline"&gt;TAnnotPolyline&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotPolygon&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotTextMarkup"&gt;TAnnotTextMarkup&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TAnnotQuadPoint&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotCaret"&gt;TAnnotCaret&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rd&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotRubberStamp"&gt;TAnnotRubberStamp&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotInk"&gt;TAnnotInk&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inklist&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotPopup"&gt;TAnnotPopup&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;open&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotFileAttachment"&gt;TAnnotFileAttachment&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotSound"&gt;TAnnotSound&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sound&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMovieDict"&gt;TAnnotMovieDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aspect&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;poster&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMovieActDict"&gt;TAnnotMovieActDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;start&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;duration&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;volume&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;showcontrols&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;synchronous&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fwscale&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fwposition&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMovie"&gt;TAnnotMovie&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;movie&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotMovieDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotMovieActDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotIconFitDict"&gt;TAnnotIconFitDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fb&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotMKDict"&gt;TAnnotMKDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bg&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{float},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ca&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ac&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ri&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;if&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotIconFitDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tp&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotScreen"&gt;TAnnotScreen&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mk&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotMKDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aa&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotAdditionalActionDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotWidget"&gt;TAnnotWidget&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mk&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;key, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotActionDict&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aa&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotAdditionalActionDict&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotBorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ff&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dv&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; mixed,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;v&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; mixed,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rv&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; mixed,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{mixed, string}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maxlen&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotFixedPrintDict"&gt;TAnnotFixedPrintDict&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;matrix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;v&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotWatermark"&gt;TAnnotWatermark&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fixedprint&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TAnnotFixedPrintDict,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotRedact"&gt;TAnnotRedact&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quadpoints&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TAnnotQuadPoint&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TFourFloat,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ro&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overlaytext&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;repeat&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;da&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;q&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOptsA"&gt;TAnnotOptsA&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotText&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotLink&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotFreeText&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOptsB"&gt;TAnnotOptsB&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotLine&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotSquare&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotCircle&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotPolygon&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotPolyline&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOptsC"&gt;TAnnotOptsC&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotTextMarkup&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotCaret&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotRubberStamp&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotInk&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotPopup&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOptsD"&gt;TAnnotOptsD&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotFileAttachment&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotSound&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotMovie&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOptsE"&gt;TAnnotOptsE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotScreen&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotWidget&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotWatermark&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotRedact&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnotOpts"&gt;TAnnotOpts&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TAnnotOptsA&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotOptsB&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotOptsC&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotOptsD&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TAnnotOptsE&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TAnnot"&gt;TAnnot&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;txt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TAnnotOpts,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TGTransparency"&gt;TGTransparency&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;K&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TXOBject"&gt;TXOBject&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spot_colors&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;extgstate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gsnames&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradient&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pattern&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;image&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xobject&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;annotations&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TAnnot&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transparency&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;TGTransparency,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;outdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TPatternObject"&gt;TPatternObject&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;outdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xstep&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ystep&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;matrix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGMaskObject"&gt;TSVGMaskObject&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stream&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gs_n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TOutline"&gt;TOutline&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;u&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;p&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;last&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;first&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;prev&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;next&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TLtvConfig"&gt;TLtvConfig&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_ocsp&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_crl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;embed_certs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_dss&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;include_vri&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSignature"&gt;TSignature&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;appearance&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;as&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;empty&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;objid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rect&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rect&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xobj&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;approval&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert_type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;extracerts&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContactInfo&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Location&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Reason&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;privkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signcert&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;profile&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digest_algorithm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ltv&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TLtvConfig,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSignTimeStamp"&gt;TSignTimeStamp&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;host&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;username&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cert&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hash_algorithm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;policy_oid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;nonce_enabled&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;timeout&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;verify_peer&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;allow_sha1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TUserRights"&gt;TUserRights&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;annots&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;document&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ef&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enabled&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;form&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;formex&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signature&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TEmbeddedFile"&gt;TEmbeddedFile&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mimeType&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;afRelationship&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;description&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;creationDate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;modDate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TObjID"&gt;TObjID&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;catalog&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dests&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;doctimestamp&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dss&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;form&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pages&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;resdic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;signature&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;srgbicc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;outputintenticc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xmp&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSignDocPrepared"&gt;TSignDocPrepared&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;byte_range&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; int&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfdoc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfdoc_length&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BORDERPOS_DEFAULT"&gt;BORDERPOS_DEFAULT&lt;/h3&gt;&#10;&lt;p&gt;The default relative position of the cell origin when&#10;the border is centered on the cell edge.&lt;/p&gt;</description></item><item><title>HTML</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HTML/</link><pubDate>Mon, 02 Nov 2026 17:03:35 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HTML/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class HTML extends JavaScript&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-JavaScript/"&gt;JavaScript&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/HTML.php#L353"&gt;src/HTML.php:353&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HTML PDF class&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_THTMLTableCell"&gt;THTMLTableCell&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colindex&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colspan&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; contenth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bstyles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fillstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;BorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; buffer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; segbuffers&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lastseg&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lastbottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; minheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLTableRowspanCell"&gt;THTMLTableRowspanCell&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colindex&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colspan&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowtop&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowsremaining&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; usedheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; contenth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bstyles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fillstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;BorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; buffer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; continued&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLRowSegment"&gt;THTMLRowSegment&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; region&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tabletop&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; top&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLRowFragment"&gt;THTMLRowFragment&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; segments&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLRowSegment&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; thead&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLTableState"&gt;THTMLTableState&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; captiontopy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dir&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cols&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colwidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colwidths&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellspacingh&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellspacingv&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellpadding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; collapse&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hascellborders&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; prevrowbottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowtop&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; minheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; domkey&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colindex&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cells&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLTableCell&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; occupied&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowspans&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLTableRowspanCell&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; regionoffset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; borderbuf&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; frag&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; THTMLRowFragment&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLTableCellContext"&gt;THTMLTableCellContext&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxwidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineadvance&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linebottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineascent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linewordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linewrapped&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowtop&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cellw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colindex&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; colspan&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; margin&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bstyles&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fillstyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;BorderStyle,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rowspan&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; minheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; buffer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; frag&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; segindex&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; segbuffers&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLAttrib"&gt;THTMLAttrib&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;align&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attribute&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;caption-top-html&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;caption-bottom-html&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;caption-side&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bgcolor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;block&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border-collapse&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TCSSBorderSpacing,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cols&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cssdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TCSSData&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;csssel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clear&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dir&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;display&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;empty-cells&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;elkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fgcolor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size-adjust&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-stretch&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-variant&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fontname&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fontsize&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fontstyle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hide&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;letter-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;line-height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;line-height-absolute&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;line-height-font-size-basis&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;list-style-position&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;listtype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;listtypeset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;float&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opening&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orphans&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overflow-wrap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;page&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pendingcellpadding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pendingcellspacingh&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pendingcellspacingv&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pendingcolwidths&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pendinggrid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;position&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quotes&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rows&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;self&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;strokecolor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;childblockbottom&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctxoriginx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctxmaxwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctxregionoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inlineblocknextx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inlineblockrowy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;inlineblockpageid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;table-layout&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;list-style-image&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tag&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-indent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-indent-each-line&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-transform&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;thead&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trids&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;valign&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;white-space&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;widows&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-break&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLSlimNode"&gt;THTMLSlimNode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;slim&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tag&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opening&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;elkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stylesrc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dir&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hide&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;block&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;display&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLDOMNode"&gt;THTMLDOMNode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;THTMLAttrib&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;THTMLSlimNode&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLSharedArrays"&gt;THTMLSharedArrays&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attribute&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, BorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;border-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TCSSBorderSpacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cssdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TCSSData&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;csssel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;padding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLCSSRule"&gt;THTMLCSSRule&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;match&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pseudo&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLCSSRuleIndex"&gt;THTMLCSSRuleIndex&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;css&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rules&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;list&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;THTMLCSSRule&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;buckets&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;list&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLBlockBuf"&gt;THTMLBlockBuf&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; openkey&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; by&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; buffer&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; celldepth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; decorate&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLRenderContext"&gt;THTMLRenderContext&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cellctx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originy&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineoriginx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxwidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxheight&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; floatrowleftw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; floatrowrightw&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; floatrowtop&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; floatrowbottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineadvance&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linebottom&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineascent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineascentnolookahead&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linewordspacing&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linewrapped&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; textindentapplied&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; firstlineinset&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pendingblockmarginb&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; activepage&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; regionoffset&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; basefont&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;currentkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fontcache&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;liststack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; count&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; indent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tablestack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLTableState&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bcellctx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLTableCellContext&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blockbuf&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLBlockBuf&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pageout&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{pid&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int, out&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linkstack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;listack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; originx&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxwidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;prelevel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;quotelevel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dom&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, THTMLDOMNode&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLRtlPiece"&gt;THTMLRtlPiece&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; key&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; text&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; src&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_THTMLRtlSegment"&gt;THTMLRtlSegment&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; key&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; text&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ascent&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; valign&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; src&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addHTMLCell"&gt;addHTMLCell()&lt;/h3&gt;&#10;&lt;p&gt;Adds an HTML block inside a rectangular cell.&lt;/p&gt;</description></item><item><title>Text</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Text/</link><pubDate>Mon, 02 Nov 2026 17:03:35 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Text/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Text extends Cell&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cell/"&gt;Cell&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Text.php#L108"&gt;src/Text.php:108&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Text PDF data&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TextCellStyles"&gt;TextCellStyles&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; all&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// One style applied to all four borders.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; L&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Left border style.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; T&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Top border style.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; R&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Right border style.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; B&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Bottom border style.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TextCellStylesLegacy"&gt;TextCellStylesLegacy&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; all&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// One style applied to all four borders.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Top border style (legacy numeric side index).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Right border style (legacy numeric side index).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Bottom border style (legacy numeric side index).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; StyleDataOpt, &lt;span style="color:#8b949e;font-style:italic"&gt;// Left border style (legacy numeric side index).&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TextCellStylesInput"&gt;TextCellStylesInput&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TextCellStyles&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;TextCellStylesLegacy&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TextShadow"&gt;TextShadow&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TextLinePos"&gt;TextLinePos&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;chars&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spaces&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;septype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totspacewidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;words&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TBidiLevels"&gt;TBidiLevels&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TPageAliasMark"&gt;TPageAliasMark&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;kind&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;digits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;awidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;literal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;aliases&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addArtifactContent"&gt;addArtifactContent()&lt;/h3&gt;&#10;&lt;p&gt;Add non-semantic content wrapped as Artifact marked-content.&lt;/p&gt;</description></item><item><title>Buffer</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Buffer/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Buffer/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Buffer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Buffer.php#L45"&gt;src/Buffer.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TFileOptions"&gt;TFileOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; allowedHosts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxRemoteSize&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; curlopts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; defaultCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fixedCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize fonts buffer&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; float $kunit,&#10; bool $subset = false,&#10; bool $unicode = true,&#10; bool $pdfa = false,&#10; File|null $fileHelper = null&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$kunit&lt;/code&gt; (float): Unit of measure conversion ratio.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subset&lt;/code&gt; (bool): If true, embed only the characters used by the document.&#10;Valid only for TrueTypeUnicode fonts.&#10;Subsetting is computational and memory intensive.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$unicode&lt;/code&gt; (bool): True if we are in Unicode mode, False otherwise.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pdfa&lt;/code&gt; (bool): True if we are in PDF/A mode, False otherwise.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;|null): Optional file helper for font loading.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Definition</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Definition/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Definition/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Definition&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Definition.php#L37"&gt;src/Definition.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Reads the decoded font definition file at the types the font data declares.&lt;/p&gt;&#10;&lt;p&gt;Each member is read at the shape of its entry in Load::DEFAULT_DATA. A member that cannot&#10;be read that way, or that Load::DEFAULT_DATA does not declare, is dropped.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_normalize"&gt;normalize()&lt;/h3&gt;&#10;&lt;p&gt;Normalize the decoded members of a font definition file.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static normalize(array&amp;lt;array-key,mixed&amp;gt; $raw): array&amp;lt;string,mixed&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$raw&lt;/code&gt; (array&amp;lt;array-key,mixed&amp;gt;): Decoded definition file.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,mixed&amp;gt;: Members to merge into the font data.&lt;/p&gt;</description></item><item><title>Import</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Import&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import.php#L47"&gt;src/Import.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Import the specified font and create output files.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $file,&#10; string $output_path = &amp;#39;&amp;#39;,&#10; string|FontType $type = &amp;#39;&amp;#39;,&#10; string $encoding = &amp;#39;&amp;#39;,&#10; int $flags = 32,&#10; int $platform_id = 3,&#10; int $encoding_id = 1,&#10; bool $linked = false,&#10; File|null $fileHelper = null&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$file&lt;/code&gt; (string): Font file to process&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$output_path&lt;/code&gt; (string): Output path for generated font files (must be writeable by the web server).&#10;Leave empty for the default font folder.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$type&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontType/"&gt;FontType&lt;/a&gt;): Font type (or FontType enum case). Leave empty for autodetect mode.&#10;Valid values are:&#10;Core (AFM - Adobe Font Metrics) TrueTypeUnicode TrueType&#10;Type1 CID0JP (CID-0 Japanese) CID0KR (CID-0 Korean) CID0CS&#10;(CID-0 Chinese Simplified) CID0CT (CID-0 Chinese Traditional)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encoding&lt;/code&gt; (string): Name of the encoding table to use. Leave empty for default mode.&#10;Omit this parameter for TrueType Unicode and symbolic fonts like&#10;Symbol or ZapfDingBats.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$flags&lt;/code&gt; (int): Unsigned 32-bit integer containing flags specifying various characteristics&#10;of the font as described in &amp;ldquo;PDF32000:2008 - 9.8.2 Font Descriptor Flags&amp;rdquo;:&#10;+1 for fixed width font +4 for symbol or +32 for non-symbol +64 for italic&#10;Note: Fixed and Italic mode are generally autodetected, so you have to set&#10;it to 32 = non-symbolic font (default) or 4 = symbolic font.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$platform_id&lt;/code&gt; (int): Platform ID for CMAP table to extract.&#10;For a Unicode font for Windows this&#10;value should be 3, for Macintosh&#10;should be 1.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encoding_id&lt;/code&gt; (int): Encoding ID for CMAP table to extract.&#10;For a Unicode font for Windows this&#10;value should be 1, for Macintosh&#10;should be 0. When Platform ID is 3,&#10;legal values for Encoding ID are: 0 =&#10;Symbol, 1 = Unicode, 2 = ShiftJIS, 3 =&#10;PRC, 4 = Big5, 5 = Wansung, 6 = Johab,&#10;7 = Reserved, 8 = Reserved, 9 =&#10;Reserved, 10 = UCS-4.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$linked&lt;/code&gt; (bool): If true, links the font file to system font instead of copying the font data&#10;(not transportable). This option is unsupported for Type1 fonts.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;|null): Optional file helper for font loading.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Load</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Load&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Load.php#L180"&gt;src/Load.php:180&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TFontDataCidInfo"&gt;TFontDataCidInfo&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ordering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Registry&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Supplement&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;uni2cid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontDataDesc"&gt;TFontDataDesc&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ascent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AvgWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CapHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Descent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Flags&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FontBBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ItalicAngle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Leading&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MaxWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MissingWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StemH&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StemV&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontDataEncTable"&gt;TFontDataEncTable&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encodingID&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;platformID&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontDataMode"&gt;TFontDataMode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bold&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;italic&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linethrough&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;underline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontDataTableItem"&gt;TFontDataTableItem&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;checkSum&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;length&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontData"&gt;TFontData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ascender&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Ascent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AvgWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CapHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CharacterSet&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Descender&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Descent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EncodingScheme&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FamilyName&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Flags&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FontBBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FontName&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FullName&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;IsFixedPitch&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ItalicAngle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Leading&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MaxWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;MissingWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StdHW&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StdVW&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StemH&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;StemV&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UnderlinePosition&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;UnderlineThickness&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Version&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Weight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cbbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cbboxu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cidinfo&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TFontDataCidInfo,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;compress&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctg&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctgdata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ctgu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cwu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;datafile&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;desc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TFontDataDesc,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;diff&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;diff_n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;diffid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dir&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enc_map&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encodingTables&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TFontDataEncTable&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encoding_id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fakestyle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;family&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file_n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file_name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gidenc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ifile&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;indexToLoc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;input_file&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;isUnicode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;italicAngle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lenIV&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;length1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;length2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linked&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TFontDataMode,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;numGlyphs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;numHMetrics&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;originalsize&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdfa&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;platform_id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;settype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;short_offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;subsetchars&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TFontDataTableItem&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tot_num_glyphs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;underlinePosition&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;underlineThickness&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unicode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unitsPerEm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;up&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urk&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;usedalias&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;usedgid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;usedseq&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ut&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;uvs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;weight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULT_DATA"&gt;DEFAULT_DATA&lt;/h3&gt;&#10;&lt;p&gt;Default value of every font data entry.&lt;/p&gt;</description></item><item><title>OutFont</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutFont/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutFont/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class OutFont extends OutUtil&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutUtil/"&gt;OutUtil&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/OutFont.php#L42"&gt;src/OutFont.php:42&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Output</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Output/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Output/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Output extends OutFont&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutFont/"&gt;OutFont&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Output.php#L39"&gt;src/Output.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize font data&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; array&amp;lt;string,TFontData&amp;gt; $fonts,&#10; int $pon,&#10; Encrypt $encrypt,&#10; ?File $fileHelper = null,&#10; ?FontSubsetCacheInterface $subsetCache = null,&#10; bool $cidset = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$fonts&lt;/code&gt; (array&amp;lt;string,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;&amp;gt;): Array of imported fonts data&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pon&lt;/code&gt; (int): Current PDF Object Number&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encrypt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;): Encrypt object&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): Optional file helper for font loading.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subsetCache&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontSubsetCacheInterface/"&gt;FontSubsetCacheInterface&lt;/a&gt;): Optional cache for subset font programs.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$cidset&lt;/code&gt; (bool): True to add a CIDSet stream to the descriptor of each&#10;subset CIDFont (PDF/A-1).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>OutUtil</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutUtil/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-OutUtil/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class OutUtil&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/OutUtil.php#L36"&gt;src/OutUtil.php:36&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Stack</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Stack/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Stack/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Stack extends Buffer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Buffer/"&gt;Buffer&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Stack.php#L109"&gt;src/Stack.php:109&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TTextSplit"&gt;TTextSplit&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ord&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spaces&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;septype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;wordwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totspacewidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TTextDims"&gt;TTextDims&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;chars&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spaces&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;words&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;totspacewidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;split&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TTextSplit&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TBBox"&gt;TBBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{float, float, float, float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The &lt;span style="color:#a5d6ff"&gt;&amp;#39;fakestyle&amp;#39;&lt;/span&gt; member holds the part of &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt; the font does &lt;span style="color:#ff7b72"&gt;not&lt;/span&gt; provide &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; that the&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;caller synthesizes when it draws the text&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; See Buffer&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;addFont()&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TStackItem"&gt;TStackItem&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fakestyle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stretching&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The &lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;descent&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt; members measure the line box of the text &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; are &lt;span style="color:#ff7b72"&gt;not&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;the &lt;span style="color:#a5d6ff"&gt;&amp;#39;/Ascent&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;and&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/Descent&amp;#39;&lt;/span&gt; of the font descriptor&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; See getFontMetric()&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TFontMetric"&gt;TFontMetric&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ascent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;avgwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;capheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cbbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TBBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cbboxu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TBBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cratio&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cwu&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;descent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fakestyle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fbbox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;idx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maxwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;midpoint&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;missingwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;outraw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stretching&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;up&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;usize&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ut&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULT_SIZE"&gt;DEFAULT_SIZE&lt;/h3&gt;&#10;&lt;p&gt;Default font size in points&lt;/p&gt;</description></item><item><title>Subset</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Subset/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Subset/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Subset&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Subset.php#L39"&gt;src/Subset.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Build the subset of a TrueType font&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $font,&#10; TFontData $fdt,&#10; File $fileHelper,&#10; array&amp;lt;int,bool&amp;gt; $subchars = [],&#10; array&amp;lt;int,bool&amp;gt; $subgids = []&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$font&lt;/code&gt; (string): Content of the input font file&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fdt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;): Extracted font metrics&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): File helper for font loading.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subchars&lt;/code&gt; (array&amp;lt;int,bool&amp;gt;): Array containing subset chars&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subgids&lt;/code&gt; (array&amp;lt;int,bool&amp;gt;): Glyph indices to keep in addition to those of the subset chars&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>TrueType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-TrueType/</link><pubDate>Mon, 02 Nov 2026 16:16:50 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-TrueType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class TrueType implements ProcessorInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-ProcessorInterface/"&gt;ProcessorInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/TrueType.php#L45"&gt;src/Import/TrueType.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Process TrueType font&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $font,&#10; TFontData $fdt,&#10; File $fileHelper,&#10; Byte $fbyte,&#10; array&amp;lt;int,bool&amp;gt; $subchars = [],&#10; bool $withCbbox = true,&#10; bool $subsetting = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$font&lt;/code&gt; (string): Content of the input font file&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fdt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;): Extracted font metrics&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): File helper for font loading.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fbyte&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Byte/"&gt;Byte&lt;/a&gt;): Object used to read font bytes&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subchars&lt;/code&gt; (array&amp;lt;int,bool&amp;gt;): Array containing subset chars&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$withCbbox&lt;/code&gt; (bool): If true, compute the per-glyph bounding boxes.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subsetting&lt;/code&gt; (bool): If true, the font program is being subset rather&#10;than imported, so the original file is neither&#10;copied nor linked again.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Output</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Output/</link><pubDate>Mon, 02 Nov 2026 15:30:12 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Output/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Output extends MetaInfo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-MetaInfo/"&gt;MetaInfo&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Output.php#L117"&gt;src/Output.php:117&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Output PDF data&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_downloadPDF"&gt;downloadPDF()&lt;/h3&gt;&#10;&lt;p&gt;Trigger the browser Download dialog to download the PDF document.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public downloadPDF(string $rawpdf = &amp;#39;&amp;#39;): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$rawpdf&lt;/code&gt; (string): Raw PDF data string from getOutPDFString().&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;Throwable&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Output.php#L6367"&gt;src/Output.php:6367&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getMIMEAttachmentPDF"&gt;getMIMEAttachmentPDF()&lt;/h3&gt;&#10;&lt;p&gt;Returns the PDF as base64 mime multi-part email attachment (RFC 2045).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getMIMEAttachmentPDF(string $rawpdf = &amp;#39;&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$rawpdf&lt;/code&gt; (string): Raw PDF data string from getOutPDFString().&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Email attachment as raw string.&lt;/p&gt;</description></item><item><title>Cell</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cell/</link><pubDate>Mon, 02 Nov 2026 15:06:45 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cell/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Cell extends Base&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Base/"&gt;Base&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cell.php#L39"&gt;src/Cell.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Cell PDF data&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_setDefaultCellBorderPos"&gt;setDefaultCellBorderPos()&lt;/h3&gt;&#10;&lt;p&gt;Sets the default cell border position.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public setDefaultCellBorderPos(float $borderpos): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$borderpos&lt;/code&gt; (float): The border position to set:&#10;BORDERPOS_DEFAULT&#10;BORDERPOS_EXTERNAL&#10;BORDERPOS_INTERNAL&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cell.php#L131"&gt;src/Cell.php:131&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_setDefaultCellMargin"&gt;setDefaultCellMargin()&lt;/h3&gt;&#10;&lt;p&gt;Set the default cell margin in user units.&lt;/p&gt;&#10;&lt;p&gt;The values are converted and stored in internal points, so the margin of a&#10;cell definition array passed to the text methods must be already in points.&lt;/p&gt;</description></item><item><title>SourceDocument</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-SourceDocument/</link><pubDate>Mon, 02 Nov 2026 15:06:45 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-SourceDocument/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class SourceDocument&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/SourceDocument.php#L40"&gt;src/Import/SourceDocument.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Wraps a parsed source PDF document and provides access to its objects and trailer.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Load and parse a PDF from raw binary data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $data, array&amp;lt;string,mixed&amp;gt; $cfg = [])&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): PDF binary data.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$cfg&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Parser configuration.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportCorruptedSourceException/"&gt;ImportCorruptedSourceException&lt;/a&gt;: If the PDF cannot be parsed.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportResourceLimitException/"&gt;ImportResourceLimitException&lt;/a&gt;: If the nesting depth limit is exceeded, or any limit&#10;is reached with &amp;lsquo;strict_limits&amp;rsquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportUnsupportedFeatureException/"&gt;ImportUnsupportedFeatureException&lt;/a&gt;: If the PDF is encrypted.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/SourceDocument.php#L83"&gt;src/Import/SourceDocument.php:83&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SVG</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-SVG/</link><pubDate>Mon, 02 Nov 2026 15:06:45 +0000</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-SVG/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class SVG extends Text&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Text/"&gt;Text&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/SVG.php#L471"&gt;src/SVG.php:471&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;SVG PDF class&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TSVGSize"&gt;TSVGSize&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;viewBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ar_align&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ar_ms&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGCoord"&gt;TSVGCoord&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x0&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y0&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xmin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xmax&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ymin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ymax&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xinit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yinit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;relcoord&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;firstcmd&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cpx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cpy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cptype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGGradient"&gt;TSVGGradient&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xref&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradientUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;coords&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stops&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exponent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradientTransform&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGStyle"&gt;TSVGStyle&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alignment-baseline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;baseline-shift&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip-path&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip-rule&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-interpolation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-interpolation-filters&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-profile&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cursor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;direction&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;display&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dominant-baseline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;enable-background&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill-rule&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;flood-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;flood-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-family&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size-val&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size-adjust&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-stretch&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-stretch-val&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-variant&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-weight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;glyph-orientation-horizontal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;glyph-orientation-vertical&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;image-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;kerning&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;letter-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;letter-spacing-val&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lighting-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-end&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-mid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-start&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mask&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mix-blend-mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;objstyle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overflow&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pointer-events&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;shape-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stop-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stop-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-dasharray&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-dashoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-linecap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-linejoin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-miterlimit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-anchor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-decoration&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unicode-bidi&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;visibility&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;writing-mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transfmatrix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TTMatrix,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGTextMode"&gt;TSVGTextMode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rtl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;invisible&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-anchor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spacepreserve&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textstarted&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vertical&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linkhref&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linkx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;linky&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;baseline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textlength&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lengthadjust&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlist&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ylist&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotlist&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textpathpoints&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textpathoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textpathmethod&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textpathspacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGAttributes"&gt;TSVGAttributes&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;accumulate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;additive&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;alignment-baseline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;amplitude&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attributeName&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attributeType&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;azimuth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;baseFrequency&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;baseProfile&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;baseline-shift&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;begin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bias&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;by&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;calcMode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;class&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip-path&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clip-rule&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clipPathUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;closing_tag&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-interpolation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color-interpolation-filters&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;crossorigin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cursor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data-*&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;decoding&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;diffuseConstant&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;direction&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;display&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;divisor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dominant-baseline&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dur&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;edgeMode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;elevation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;end&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exponent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill-rule&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filterUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;flood-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;flood-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-family&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-size-adjust&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-stretch&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-variant&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;font-weight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fr&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;from&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;glyph-orientation-horizontal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;glyph-orientation-vertical&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradientTransform&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradientUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;href&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;hreflang&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;image-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;in&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;in2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;intercept&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k3&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k4&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;kernelMatrix&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;kernelUnitLength&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;keyPoints&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;keySplines&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;keyTimes&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lang&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lengthAdjust&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;letter-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lighting-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;limitingConeAngle&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;local&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-end&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-mid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;marker-start&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;markerHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;markerUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;markerWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mask&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maskContentUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maskUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;max&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;media&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;method&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;min&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;numOctaves&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;operator&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;order&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orient&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;origin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;overflow&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;paint-order&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;path&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pathLength&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;patternContentUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;patternTransform&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;patternUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ping&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pointer-events&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;points&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pointsAtX&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pointsAtY&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pointsAtZ&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;preserveAlpha&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;preserveAspectRatio&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;primitiveUnits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;radius&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;refX&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;refY&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;referrerPolicy&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rendering-intent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;repeatCount&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;repeatDur&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;requiredExtensions&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;requiredFeatures&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;restart&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ry&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;scale&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;seed&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;shape-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;slope&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;specularConstant&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;specularExponent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;speed&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;spreadMethod&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;startOffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stdDeviation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stitchTiles&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stop-color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stop-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-dasharray&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-dashoffset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-linecap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-linejoin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-miterlimit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stroke-width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;surfaceScale&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;systemLanguage&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tabindex&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tableValues&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;target&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;targetX&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;targetY&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-anchor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-decoration&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text-rendering&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textLength&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;to&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transform&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transform-origin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;unicode-bidi&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;values&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;vector-effect&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;version&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;viewBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;visibility&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;word-spacing&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;writing-mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xChannelSelector&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:actuate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:arcrole&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:href Deprecated&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:href&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:role&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:show&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:title&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xlink:type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xml:lang&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xml:space&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y1&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y2&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yChannelSelector&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zoomAndPan&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGAttribChild"&gt;TSVGAttribChild&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attr&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TSVGAttributes,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGAttribs"&gt;TSVGAttribs&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;attr&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TSVGAttributes,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TTMatrix,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;child&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TSVGAttribChild&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGSwitchState"&gt;TSVGSwitchState&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;depth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;selected&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;skipdepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSVGObj"&gt;TSVGObj&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;defsmode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;defsopen&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;defsstack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;open&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;close&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;records&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clipmode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clipid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;tagdepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x0&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y0&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;refunitval&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TRefUnitValues,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradientid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;gradients&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TSVGGradient&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;clippaths&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TSVGAttribs&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;groupstack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int, &lt;span style="color:#a5d6ff"&gt;&amp;#39;alpha&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blend&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string, &lt;span style="color:#a5d6ff"&gt;&amp;#39;styledepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cssrules&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;parts&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TSelPart&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;decl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string, &lt;span style="color:#a5d6ff"&gt;&amp;#39;sortkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;selchain&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;node&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TSelNode, &lt;span style="color:#a5d6ff"&gt;&amp;#39;prev&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TSelNode&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cssbuffer&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;styledepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;placement&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TTMatrix,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;defs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, TSVGAttribs&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cliptm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TTMatrix,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;styles&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TSVGStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;child&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xmldepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;switchstack&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, TSVGSwitchState&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;usechain&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;markermode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;patternmode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textmode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TSVGTextMode,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;charskip&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;textdepth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;text&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;markupresources&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dir&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addSVG"&gt;addSVG()&lt;/h3&gt;&#10;&lt;p&gt;Add a new SVG image and return its object ID.&lt;/p&gt;</description></item><item><title>tcpdf_autoconfig.php</title><link>https://tcpdf.org/docs/srcdoc/TCPDF/files-tcpdf-autoconfig/</link><pubDate>Sat, 24 Oct 2026 11:08:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/TCPDF/files-tcpdf-autoconfig/</guid><description>&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php"&gt;tcpdf_autoconfig.php&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Try to automatically configure some TCPDF constants if not defined.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_HEAD_MAGNIFICATION"&gt;HEAD_MAGNIFICATION&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HEAD_MAGNIFICATION&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L247"&gt;tcpdf_autoconfig.php:247&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_ALLOWED_HOSTS"&gt;K_ALLOWED_HOSTS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_ALLOWED_HOSTS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; []&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L311"&gt;tcpdf_autoconfig.php:311&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_ALLOWED_PATHS"&gt;K_ALLOWED_PATHS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_ALLOWED_PATHS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; []&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L303"&gt;tcpdf_autoconfig.php:303&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_ALLOWED_TCPDF_TAGS"&gt;K_ALLOWED_TCPDF_TAGS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_ALLOWED_TCPDF_TAGS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L271"&gt;tcpdf_autoconfig.php:271&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_BLANK_IMAGE"&gt;K_BLANK_IMAGE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_BLANK_IMAGE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;_blank.png&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L167"&gt;tcpdf_autoconfig.php:167&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_CELL_HEIGHT_RATIO"&gt;K_CELL_HEIGHT_RATIO&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_CELL_HEIGHT_RATIO&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.25&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L251"&gt;tcpdf_autoconfig.php:251&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_CURLOPTS"&gt;K_CURLOPTS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_CURLOPTS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; []&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L324"&gt;tcpdf_autoconfig.php:324&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_MAX_REMOTE_SIZE"&gt;K_MAX_REMOTE_SIZE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_MAX_REMOTE_SIZE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;52428800&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L317"&gt;tcpdf_autoconfig.php:317&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_PATH_CACHE"&gt;K_PATH_CACHE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_PATH_CACHE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$K_PATH_CACHE&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L163"&gt;tcpdf_autoconfig.php:163&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_PATH_FONTS"&gt;K_PATH_FONTS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_PATH_FONTS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tcpdf_fonts_path&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L103"&gt;tcpdf_autoconfig.php:103&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_PATH_MAIN"&gt;K_PATH_MAIN&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_PATH_MAIN&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \dirname(&lt;span style="color:#79c0ff;font-weight:bold"&gt;__FILE__&lt;/span&gt;) &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L58"&gt;tcpdf_autoconfig.php:58&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_PATH_URL"&gt;K_PATH_URL&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_PATH_URL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$k_path_url&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L117"&gt;tcpdf_autoconfig.php:117&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_SMALL_RATIO"&gt;K_SMALL_RATIO&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_SMALL_RATIO&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L259"&gt;tcpdf_autoconfig.php:259&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_TCPDF_CALLS_IN_HTML"&gt;K_TCPDF_CALLS_IN_HTML&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_TCPDF_CALLS_IN_HTML&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \false&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L267"&gt;tcpdf_autoconfig.php:267&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_TCPDF_LIB_PDF_PATH"&gt;K_TCPDF_LIB_PDF_PATH&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_TCPDF_LIB_PDF_PATH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$tcpdf_lib_pdf_path&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L69"&gt;tcpdf_autoconfig.php:69&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_TCPDF_THROW_EXCEPTION_ERROR"&gt;K_TCPDF_THROW_EXCEPTION_ERROR&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_TCPDF_THROW_EXCEPTION_ERROR&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \false&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L275"&gt;tcpdf_autoconfig.php:275&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_THAI_TOPCHARS"&gt;K_THAI_TOPCHARS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_THAI_TOPCHARS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \true&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/tcpdf_autoconfig.php#L263"&gt;tcpdf_autoconfig.php:263&lt;/a&gt;&lt;/p&gt;</description></item><item><title>tcpdf_config.php</title><link>https://tcpdf.org/docs/srcdoc/TCPDF/files-config-tcpdf-config/</link><pubDate>Sat, 24 Oct 2026 11:08:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/TCPDF/files-config-tcpdf-config/</guid><description>&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/config/tcpdf_config.php"&gt;config/tcpdf_config.php&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Configuration file for TCPDF.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_HEAD_MAGNIFICATION"&gt;HEAD_MAGNIFICATION&lt;/h3&gt;&#10;&lt;p&gt;Magnification factor for titles.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HEAD_MAGNIFICATION&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1.1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/config/tcpdf_config.php#L156"&gt;config/tcpdf_config.php:156&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_ALLOWED_TCPDF_TAGS"&gt;K_ALLOWED_TCPDF_TAGS&lt;/h3&gt;&#10;&lt;p&gt;List of TCPDF methods that are allowed to be called using HTML syntax.&lt;/p&gt;&#10;&lt;p&gt;Note: each method name must end with surrounded with | (pipe) character.&#10;The constant K_TCPDF_CALLS_IN_HTML must be set to true.&#10;IMPORTANT: For security reason, disable this feature if you are allowing user HTML content.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_ALLOWED_TCPDF_TAGS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/TCPDF/blob/main/config/tcpdf_config.php#L190"&gt;config/tcpdf_config.php:190&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_K_BLANK_IMAGE"&gt;K_BLANK_IMAGE&lt;/h3&gt;&#10;&lt;p&gt;Generic name for a blank image.&lt;/p&gt;</description></item><item><title>Page</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Page/</link><pubDate>Sat, 24 Oct 2026 09:38:58 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Page/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Page extends Region&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Region/"&gt;Region&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Page.php#L46"&gt;src/Page.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize page data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string|Unit $unit,&#10; Pdf $color,&#10; Encrypt $encrypt,&#10; bool $notransparency = false,&#10; bool $compress = true,&#10; bool $sigapp = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$unit&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Unit/"&gt;Unit&lt;/a&gt;): Unit of measure (&amp;lsquo;pt&amp;rsquo;, &amp;lsquo;mm&amp;rsquo;, &amp;lsquo;cm&amp;rsquo;, &amp;lsquo;in&amp;rsquo;) or a Unit enum case.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$color&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Pdf/"&gt;Pdf&lt;/a&gt;): Color object.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encrypt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;): Encrypt object.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$notransparency&lt;/code&gt; (bool): True when the conformance mode forbids&#10;transparency (PDF/A-1, PDF/X-1a, PDF/X-3): the page&#10;transparency group is suppressed.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$compress&lt;/code&gt; (bool): Set to false to disable stream compression.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$sigapp&lt;/code&gt; (bool): True if the signature approval is enabled (for incremental updates).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Settings</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Settings/</link><pubDate>Sat, 24 Oct 2026 09:38:58 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Settings/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Settings extends Box&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Box/"&gt;Box&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L47"&gt;src/Settings.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_EPS"&gt;EPS&lt;/h3&gt;&#10;&lt;p&gt;Epsilon precision used to compare floating point values.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;EPS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0.0001&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L52"&gt;src/Settings.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_MAX_COLUMNS"&gt;MAX_COLUMNS&lt;/h3&gt;&#10;&lt;p&gt;Maximum number of equal vertical columns a page can be split into.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_COLUMNS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L57"&gt;src/Settings.php:57&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_PAGE_NUM"&gt;PAGE_NUM&lt;/h3&gt;&#10;&lt;p&gt;Alias for page number.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;PAGE_NUM&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;~#PN&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L71"&gt;src/Settings.php:71&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_PAGE_TOT"&gt;PAGE_TOT&lt;/h3&gt;&#10;&lt;p&gt;Alias for total number of pages in a group.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;PAGE_TOT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;~#PT&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L64"&gt;src/Settings.php:64&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getPageID"&gt;getPageID()&lt;/h3&gt;&#10;&lt;p&gt;Return the current page ID.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getPageID(): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int: Page ID.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Settings.php#L171"&gt;src/Settings.php:171&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_sanitizeAnnotRefs"&gt;sanitizeAnnotRefs()&lt;/h3&gt;&#10;&lt;p&gt;Sanitize or set the annotation references.&lt;/p&gt;</description></item><item><title>Importer</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-Importer/</link><pubDate>Sat, 24 Oct 2026 08:42:41 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-Importer/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Importer implements ImporterInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImporterInterface/"&gt;ImporterInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/Importer.php#L59"&gt;src/Import/Importer.php:59&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Orchestrates PDF import: loads source documents, resolves pages, clones resources,&#10;builds Form XObjects, and registers them for deferred output via getOutImportedObjects().&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_ImportOptions"&gt;ImportOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; box&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; respectRotation&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; groupXObject&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cache&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_ParserOptions"&gt;ParserOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ignore_filter_errors&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; decode_streams&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strict_limits&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_stream_size&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_resolution_depth&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_nesting_depth&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Constructor.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; array&amp;lt;string,mixed&amp;gt; &amp;amp;$xobjects,&#10; int &amp;amp;$pon,&#10; File $file,&#10; int $pdfa = 0,&#10; ?Encrypt $encrypt = null,&#10; bool $requireEmbeddedFonts = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ImporterInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImporterInterface/</link><pubDate>Sat, 24 Oct 2026 08:42:41 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImporterInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ImporterInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImporterInterface.php#L53"&gt;src/Import/ImporterInterface.php:53&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Contract for the PDF import orchestrator.&#10;Defining this interface decouples the tc-lib-pdf main library from the concrete&#10;import implementation, so the Import\ classes can be extracted into a separate&#10;tc-lib-pdf-import package without breaking the public API.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_ImportOptions"&gt;ImportOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; box&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; respectRotation&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; groupXObject&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cache&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_ParserOptions"&gt;ParserOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ignore_filter_errors&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; decode_streams&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strict_limits&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_stream_size&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_resolution_depth&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max_nesting_depth&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_cleanUp"&gt;cleanUp()&lt;/h3&gt;&#10;&lt;p&gt;Release parser memory and cached resources.&lt;/p&gt;</description></item><item><title>Tcpdf</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/</link><pubDate>Sat, 24 Oct 2026 08:42:41 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Tcpdf extends Output&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Output/"&gt;Output&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Tcpdf.php#L91"&gt;src/Tcpdf.php:91&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Tcpdf PDF class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new PDF object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string|Unit $unit = &amp;#39;mm&amp;#39;,&#10; bool $isunicode = true,&#10; bool $subsetfont = false,&#10; bool $compress = true,&#10; string|PdfConformance $mode = &amp;#39;&amp;#39;,&#10; ?Encrypt $objEncrypt = null,&#10; TFileOptions|null $fileOptions = null,&#10; ?CacheInterface $cache = null&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$unit&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Unit/"&gt;Unit&lt;/a&gt;): Unit of measure (&amp;lsquo;pt&amp;rsquo;, &amp;lsquo;mm&amp;rsquo;, &amp;lsquo;cm&amp;rsquo;, &amp;lsquo;in&amp;rsquo;) or a Unit enum case.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$isunicode&lt;/code&gt; (bool): True if the document is in Unicode mode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subsetfont&lt;/code&gt; (bool): If true subset the embedded fonts to remove the unused characters.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$compress&lt;/code&gt; (bool): Set to false to disable stream compression.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfConformance/"&gt;PdfConformance&lt;/a&gt;): PDF mode: &amp;ldquo;pdfa1&amp;rdquo;, &amp;ldquo;pdfa2&amp;rdquo;, &amp;ldquo;pdfa3&amp;rdquo;, &amp;ldquo;pdfx&amp;rdquo;, &amp;ldquo;pdfx1a&amp;rdquo;, &amp;ldquo;pdfx3&amp;rdquo;,&#10;&amp;ldquo;pdfx4&amp;rdquo;, &amp;ldquo;pdfx5&amp;rdquo;, &amp;ldquo;pdfua&amp;rdquo;, &amp;ldquo;pdfua1&amp;rdquo;, &amp;ldquo;pdfua2&amp;rdquo;, empty, or a PdfConformance case.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$objEncrypt&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;): Encryption object. Ignored in PDF/A mode, which forbids encryption.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileOptions&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Base/#type_TFileOptions"&gt;TFileOptions&lt;/a&gt;|null): Optional configuration for the shared file helper used&#10;to load external resources (images, fonts, SVG, etc.).&#10;Supported keys:&#10;&lt;ul&gt;&#10;&lt;li&gt;allowedHosts (string[]): Whitelist of host names that&#10;the library is allowed to fetch over HTTP/HTTPS. For&#10;security reasons remote URL loading is DISABLED by&#10;default; you MUST populate this list (for example&#10;[&amp;rsquo;example.com&amp;rsquo;, &amp;lsquo;cdn.example.com&amp;rsquo;]) to enable any&#10;remote download. Local file paths are not affected.&lt;/li&gt;&#10;&lt;li&gt;maxRemoteSize (int): Maximum size in bytes accepted&#10;for a remote download (default 52428800 = 50 MiB).&lt;/li&gt;&#10;&lt;li&gt;curlopts (array&amp;lt;int,bool|int|string&amp;gt;): Per-request&#10;cURL options merged on top of the defaults (keys are&#10;CURLOPT_* constants).&lt;/li&gt;&#10;&lt;li&gt;defaultCurlOpts (array&amp;lt;int,bool|int|string&amp;gt;):&#10;Replaces the built-in default cURL options. Use with&#10;care; omit to keep the safe defaults.&lt;/li&gt;&#10;&lt;li&gt;fixedCurlOpts (array&amp;lt;int,bool|int|string&amp;gt;): cURL&#10;options that are always enforced and cannot be&#10;overridden by curlopts (for example to pin TLS&#10;settings).&lt;/li&gt;&#10;&lt;li&gt;allowedPaths (string[]): Trusted local path&#10;prefixes for file:// reads. Defaults are&#10;automatically computed from the package location&#10;to cover bundled example assets.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$cache&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/"&gt;CacheInterface&lt;/a&gt;): Optional external cache reused by every cacheable sub-library&#10;(font subsets, images, &amp;hellip;). Implement&#10;Com\Tecnick\Pdf\Cache\CacheInterface to bridge your own backend&#10;(filesystem, APCu, Redis, PSR-16, &amp;hellip;); the application owns the&#10;backend, its (de)serialization, expiration and size limits. Null&#10;(default) disables external caching. No backend is shipped.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Datamatrix</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix/</link><pubDate>Sat, 17 Oct 2026 11:50:05 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Datamatrix extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix.php#L41"&gt;src/Type/Square/Datamatrix.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Datamatrix Barcode type class&#10;DATAMATRIX (ISO/IEC 16022)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Encrypt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/</link><pubDate>Sat, 17 Oct 2026 11:08:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encrypt extends Compute&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Compute/"&gt;Compute&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Encrypt.php#L38"&gt;src/Encrypt.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encrypts data for PDF documents.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Set PDF document protection (permission settings).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; bool $enabled = false,&#10; string $file_id = &amp;#39;&amp;#39;,&#10; int $mode = 0,&#10; string[] $permissions = \self::DEFAULTPERMS,&#10; string $user_pass = &amp;#39;&amp;#39;,&#10; string $owner_pass = &amp;#39;&amp;#39;,&#10; ?list&amp;lt;array{&amp;#39;c&amp;#39;: string, &amp;#39;p&amp;#39;?: string[]}&amp;gt; $pubkeys = null,&#10; bool $encryptMetadata = true,&#10; bool $encryptEmbeddedFiles = true&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$enabled&lt;/code&gt; (bool): False if the encryption is disabled.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$file_id&lt;/code&gt; (string): File ID as an even-length hexadecimal string; a random one is&#10;generated when empty. It is the first element of the trailer /ID&#10;array, from which revisions 2 to 4 derive the key.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (int): Encryption strength: 0 = RC4-40 (deprecated); 1 = RC4-128 (deprecated);&#10;2 = AES-128; 3 = AES-256 R5; 4 = AES-256 R6 (PDF 2.0 / ISO 32000-2).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$permissions&lt;/code&gt; (string[]): The set of permissions to block: &amp;lsquo;owner&amp;rsquo; (inverted logic:&#10;when set, permits change of encryption), &amp;lsquo;print&amp;rsquo;, &amp;lsquo;modify&amp;rsquo;, &amp;lsquo;copy&amp;rsquo;,&#10;&amp;lsquo;annot-forms&amp;rsquo;, &amp;lsquo;fill-forms&amp;rsquo;, &amp;rsquo;extract&amp;rsquo;, &amp;lsquo;assemble&amp;rsquo;, &amp;lsquo;print-high&amp;rsquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$user_pass&lt;/code&gt; (string): User password.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$owner_pass&lt;/code&gt; (string): Owner password. A random value is used when empty.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pubkeys&lt;/code&gt; (?list&amp;lt;array{&amp;lsquo;c&amp;rsquo;: string, &amp;lsquo;p&amp;rsquo;?: string[]}&amp;gt;): Recipients, each with a public-key certificate (&amp;lsquo;c&amp;rsquo;) and the&#10;permissions to block for it (&amp;lsquo;p&amp;rsquo;), for example:&#10;[[&amp;lsquo;c&amp;rsquo; =&amp;gt; &amp;lsquo;file://cert.pem&amp;rsquo;, &amp;lsquo;p&amp;rsquo; =&amp;gt; [&amp;lsquo;print&amp;rsquo;]]].&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encryptMetadata&lt;/code&gt; (bool): When false, adds /EncryptMetadata false to the encryption&#10;dictionary and leaves metadata streams unencrypted. Requires mode&#10;2, 3 or 4: for modes 0 and 1 the value is forced back to true with&#10;an E_USER_WARNING.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encryptEmbeddedFiles&lt;/code&gt; (bool): Selects the /EFF crypt filter for V 4 and V 5. True omits&#10;/EFF, so embedded file streams use the /StmF filter; false writes&#10;/EFF /Identity, and the caller must then write embedded file streams&#10;without calling encryptString() on them.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>CSS</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS/</link><pubDate>Sun, 11 Oct 2026 07:39:20 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class CSS extends SVG&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-SVG/"&gt;SVG&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS.php#L77"&gt;src/CSS.php:77&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CSS PDF class&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_BorderStyle"&gt;BorderStyle&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineWidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineCap&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineJoin&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; miterLimit&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dashArray&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dashPhase&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineColor&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fillColor&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cssBorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_BorderStyleOpt"&gt;BorderStyleOpt&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineWidth&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineCap&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineJoin&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; miterLimit&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dashArray&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dashPhase&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lineColor&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fillColor&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cssBorderStyle&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TCSSBorderSpacing"&gt;TCSSBorderSpacing&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;H&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;V&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TCSSData"&gt;TCSSData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;k&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addGlobalCSS"&gt;addGlobalCSS()&lt;/h3&gt;&#10;&lt;p&gt;Append CSS content to the global CSS applied as a base stylesheet to all HTML rendering calls.&lt;/p&gt;</description></item><item><title>JavaScript</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-JavaScript/</link><pubDate>Sat, 10 Oct 2026 18:07:53 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-JavaScript/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class JavaScript extends CSS&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS/"&gt;CSS&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/JavaScript.php#L53"&gt;src/JavaScript.php:53&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;JavaScript PDF class&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TRadioButtonItem"&gt;TRadioButtonItem&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;def&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TRadioButton"&gt;TRadioButton&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;#readonly#&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;kids&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;TRadioButtonItem&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addContentAsEmbeddedFile"&gt;addContentAsEmbeddedFile()&lt;/h3&gt;&#10;&lt;p&gt;Add string content as an embedded file.&lt;/p&gt;&#10;&lt;p&gt;If a file with the same name already exists, it will be ignored.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public addContentAsEmbeddedFile(&#10; string $file,&#10; string $content,&#10; string $mime = &amp;#39;application/octet-stream&amp;#39;,&#10; string|AFRelationship $afrel = &amp;#39;Source&amp;#39;,&#10; string $desc = &amp;#39;&amp;#39;&#10;): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$file&lt;/code&gt; (string): File name to be used a key for the embedded file.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$content&lt;/code&gt; (string): Content of the embedded file.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mime&lt;/code&gt; (string): MIME type of the file (e.g., &amp;lsquo;application/xml&amp;rsquo;).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$afrel&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-AFRelationship/"&gt;AFRelationship&lt;/a&gt;): AFRelationship value (Source, Data, Alternative, Supplement, Unspecified) or enum.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$desc&lt;/code&gt; (string): Optional description of the file.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>MetaInfo</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-MetaInfo/</link><pubDate>Sat, 10 Oct 2026 10:12:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-MetaInfo/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class MetaInfo extends HTML&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HTML/"&gt;HTML&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/MetaInfo.php#L72"&gt;src/MetaInfo.php:72&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Meta Information PDF class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getVersion"&gt;getVersion()&lt;/h3&gt;&#10;&lt;p&gt;Return the program version.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getVersion(): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/MetaInfo.php#L176"&gt;src/MetaInfo.php:176&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_setAuthor"&gt;setAuthor()&lt;/h3&gt;&#10;&lt;p&gt;Defines the author of the document.&lt;/p&gt;&#10;&lt;p&gt;An empty string removes the entry.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public setAuthor(string $author): static&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$author&lt;/code&gt; (string): The name of the author.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; static&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/MetaInfo.php#L202"&gt;src/MetaInfo.php:202&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_setCreator"&gt;setCreator()&lt;/h3&gt;&#10;&lt;p&gt;Defines the creator of the document.&lt;/p&gt;&#10;&lt;p&gt;This is typically the name of the application that generates the PDF.&lt;/p&gt;&#10;&lt;p&gt;An empty string removes the entry.&lt;/p&gt;</description></item><item><title>ResourceCloner</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ResourceCloner/</link><pubDate>Sat, 10 Oct 2026 10:12:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ResourceCloner/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ResourceCloner&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ResourceCloner.php#L43"&gt;src/Import/ResourceCloner.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Deep-copies objects from the source document into the destination PDF&#10;using an ObjectMap for reference remapping. Returns serialized PDF object bytes.&#10;Streams and strings are encrypted with the key of the destination document.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Constructor.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int $pon, int $pdfa = 0, ?Encrypt $encrypt = null)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$pon&lt;/code&gt; (int): Current PDF object number (passed by value; read the updated counter back&#10;via getPon()).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pdfa&lt;/code&gt; (int): PDF/A part of the destination document (0 when PDF/A is not active).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encrypt&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;): Encryption object of the destination document; a disabled one is used&#10;when null.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Import</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/</link><pubDate>Sat, 10 Oct 2026 09:54:01 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Import extends Output&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Output/"&gt;Output&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import.php#L99"&gt;src/Import.php:99&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_ImageBaseData"&gt;ImageBaseData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;channels&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colspace&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exturl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;icc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ismask&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mapto&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;native&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_alt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_icc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_pal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parms&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;raw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;recode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;recoded&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;splitalpha&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trns&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_ImageRawData"&gt;ImageRawData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bits&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;channels&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colspace&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exturl&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;filter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;icc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ismask&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mapto&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mask&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; ImageBaseData,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;native&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_alt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_icc&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;obj_pal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;out&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;true&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pal&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;parms&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;plain&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; ImageBaseData,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;raw&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;recode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;recoded&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;splitalpha&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trns&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_add"&gt;add()&lt;/h3&gt;&#10;&lt;p&gt;Add a new image.&lt;/p&gt;</description></item><item><title>Bidi</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi/</link><pubDate>Sat, 10 Oct 2026 09:43:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Bidi&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi.php#L51"&gt;src/Bidi.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Unicode Bidirectional Algorithm (UAX #9): reorders each paragraph of the input from&#10;logical to visual order and applies the Arabic shaping. The shaped logical order with&#10;the resolved levels is also available, to reorder each line after line breaking.&#10;&lt;a href="https://www.unicode.org/reports/tr9/"&gt;https://www.unicode.org/reports/tr9/&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CONTAINS_ARABIC"&gt;CONTAINS_ARABIC&lt;/h3&gt;&#10;&lt;p&gt;The input contains Arabic characters (bidi class AL or AN)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CONTAINS_ARABIC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi.php#L61"&gt;src/Bidi.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_CONTAINS_FORMATTING"&gt;CONTAINS_FORMATTING&lt;/h3&gt;&#10;&lt;p&gt;The input contains explicit formatting characters&#10;(LRE, RLE, PDF, LRO, RLO, LRI, RLI, FSI, PDI)&lt;/p&gt;</description></item><item><title>Type</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/</link><pubDate>Sat, 10 Oct 2026 09:35:28 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Type extends Convert implements Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type.php#L42"&gt;src/Type.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode Type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new barcode object&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $code,&#10; int $width = -1,&#10; int $height = -1,&#10; string $color = &amp;#39;black&amp;#39;,&#10; (int|float|string)[] $params = [],&#10; array{int, int, int, int} $padding = [0, 0, 0, 0]&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$code&lt;/code&gt; (string): Barcode content&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$width&lt;/code&gt; (int): Barcode width in user units (excluding padding).&#10;A negative value indicates the multiplication&#10;factor for each column.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$height&lt;/code&gt; (int): Barcode height in user units (excluding padding).&#10;A negative value indicates the multiplication&#10;factor for each row.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$color&lt;/code&gt; (string): Foreground color in Web notation&#10;(color name, or hexadecimal code, or CSS syntax)&#10;or PDF spot color name&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; ((int|float|string)[]): Array containing extra parameters for the specified barcode type&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$padding&lt;/code&gt; (array{int, int, int, int}): Additional padding to add around the barcode&#10;(top, right, bottom, left) in user units. A&#10;negative value indicates the number of rows&#10;or columns.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>LineBreak</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-LineBreak/</link><pubDate>Sat, 10 Oct 2026 09:31:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-LineBreak/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class LineBreak&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/LineBreak.php#L38"&gt;src/LineBreak.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Line_Break property values (UAX #14) of the classes that take part in ideographic line breaking.&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CLASSES"&gt;CLASSES&lt;/h3&gt;&#10;&lt;p&gt;Line_Break classes returned by getClass().&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CLASSES&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;ID&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;H2&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;H3&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CJ&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;NS&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;OP&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CL&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;CP&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;EX&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;IS&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;QU&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;IN&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;B2&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/LineBreak.php#L50"&gt;src/LineBreak.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_FIRST"&gt;HANGUL_FIRST&lt;/h3&gt;&#10;&lt;p&gt;First Hangul syllable.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_FIRST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xac00&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/LineBreak.php#L55"&gt;src/LineBreak.php:55&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_LAST"&gt;HANGUL_LAST&lt;/h3&gt;&#10;&lt;p&gt;Last Hangul syllable.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_LAST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xd7a3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/LineBreak.php#L60"&gt;src/LineBreak.php:60&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_T_COUNT"&gt;HANGUL_T_COUNT&lt;/h3&gt;&#10;&lt;p&gt;Number of Hangul syllables sharing the same leading consonant and vowel.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_T_COUNT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/LineBreak.php#L65"&gt;src/LineBreak.php:65&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_RANGES"&gt;RANGES&lt;/h3&gt;&#10;&lt;p&gt;Line_Break class of the code points outside the Hangul syllables, as&#10;[first code point, last code point, class], sorted by code point.&lt;/p&gt;</description></item><item><title>FontPaths</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontPaths/</link><pubDate>Sat, 03 Oct 2026 22:35:29 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontPaths/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class FontPaths&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FontPaths.php#L36"&gt;src/FontPaths.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Shared font paths rooted at the library base directory.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_buildAllowedPaths"&gt;buildAllowedPaths()&lt;/h3&gt;&#10;&lt;p&gt;Build trusted roots for local font file access.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static buildAllowedPaths(): string[]&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string[]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FontPaths.php#L139"&gt;src/FontPaths.php:139&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_findFontFile"&gt;findFontFile()&lt;/h3&gt;&#10;&lt;p&gt;Returns the full path of a font file, or an empty string when it is not found.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static findFontFile(string $fontdir, string $file): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$fontdir&lt;/code&gt; (string): Original font directory.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$file&lt;/code&gt; (string): Font file name.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FontPaths.php#L88"&gt;src/FontPaths.php:88&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getConfigPath"&gt;getConfigPath()&lt;/h3&gt;&#10;&lt;p&gt;Returns the K_PATH_FONTS value, or an empty string when it is undefined or empty.&lt;/p&gt;</description></item><item><title>DictParser</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-DictParser/</link><pubDate>Sat, 26 Sep 2026 11:55:56 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-DictParser/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class DictParser&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/DictParser.php#L38"&gt;src/Import/DictParser.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Converts the raw object arrays returned by the PDF parser into PHP&#10;associative arrays. Indirect references are left as their raw string values&#10;for lazy resolution by the caller.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_objectToArray"&gt;objectToArray()&lt;/h3&gt;&#10;&lt;p&gt;Convert a raw parsed object array to the list of its array value.&lt;/p&gt;&#10;&lt;p&gt;Only the first element is examined: an object holding an array opens with the&#10;array token, while a stream object can expose trailing tokens when its payload&#10;contains an &amp;ldquo;endstream&amp;rdquo; marker.&lt;/p&gt;</description></item><item><title>FontInspector</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-FontInspector/</link><pubDate>Sat, 26 Sep 2026 11:55:56 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-FontInspector/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class FontInspector&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/FontInspector.php#L38"&gt;src/Import/FontInspector.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Walks the font resources of an imported page and reports the fonts whose&#10;program is not embedded in the source document. Such a font is copied into&#10;the destination document as it stands, which no conformance mode requiring&#10;embedded fonts accepts (ISO 19005-1 clause 6.3.4, ISO 19005-2 and&#10;ISO 19005-3 clause 6.2.11.4.1).&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_RESOURCE_NODES"&gt;MAX_RESOURCE_NODES&lt;/h3&gt;&#10;&lt;p&gt;Maximum number of resource dictionaries visited in a single walk.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_RESOURCE_NODES&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1024&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/FontInspector.php#L43"&gt;src/Import/FontInspector.php:43&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PageResolver</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageResolver/</link><pubDate>Sat, 26 Sep 2026 11:55:56 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageResolver/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PageResolver&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageResolver.php#L51"&gt;src/Import/PageResolver.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Traverses the PDF page tree and returns the effective page dictionary&#10;with all inherited attributes (MediaBox, CropBox, Rotate, Resources …)&#10;resolved for a 1-based page number.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_PageBox"&gt;PageBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_ResolvedPage"&gt;ResolvedPage&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dict&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;mediaBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBox,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cropBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBox,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bleedBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBox,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trimBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBox,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;artBox&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBox,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotate&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;resources&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, mixed&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_PAGE_TREE_NODES"&gt;MAX_PAGE_TREE_NODES&lt;/h3&gt;&#10;&lt;p&gt;Hard ceiling on page tree nodes visited in a single walk, on top of the&#10;duplicate-reference guard that bounds every walk by the number of&#10;distinct objects in the source file.&lt;/p&gt;</description></item><item><title>PdfName</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PdfName/</link><pubDate>Sat, 26 Sep 2026 11:55:56 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PdfName/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class PdfName&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PdfName.php#L34"&gt;src/Import/PdfName.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Serializes decoded PDF name objects (PDF 32000-1 7.3.5).&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_token"&gt;token()&lt;/h3&gt;&#10;&lt;p&gt;Return the PDF name token for a decoded name.&lt;/p&gt;&#10;&lt;p&gt;Bytes outside 0x21-0x7E, the delimiters and the number sign are written as #xx.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static token(int|string $name): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$name&lt;/code&gt; (int|string): Decoded name, without the leading solidus.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Name token, including the leading solidus.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PdfName.php#L52"&gt;src/Import/PdfName.php:52&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Encode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Encode/</link><pubDate>Sat, 26 Sep 2026 11:28:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Encode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encode extends EncodeTxt&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-EncodeTxt/"&gt;EncodeTxt&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Encode.php#L34"&gt;src/Type/Square/Datamatrix/Encode.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encode methods for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new encode object&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $shape = &amp;#39;S&amp;#39;, bool $gsonemode = false, string $size = &amp;#39;&amp;#39;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$shape&lt;/code&gt; (string): Datamatrix shape key (S=square, R=rectangular)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$gsonemode&lt;/code&gt; (bool): True to encode the FNC1 and GS characters as the FNC1 codeword&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$size&lt;/code&gt; (string): Requested symbol size as rows by columns, empty for the smallest that fits&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Encode.php#L51"&gt;src/Type/Square/Datamatrix/Encode.php:51&lt;/a&gt;&lt;/p&gt;</description></item><item><title>EncodeTxt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-EncodeTxt/</link><pubDate>Sat, 26 Sep 2026 11:28:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-EncodeTxt/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class EncodeTxt extends Steps&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Steps/"&gt;Steps&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/EncodeTxt.php#L36"&gt;src/Type/Square/Datamatrix/EncodeTxt.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encode TXT/C40 methods for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encodeAsciiRange"&gt;encodeAsciiRange()&lt;/h3&gt;&#10;&lt;p&gt;Encode a range of characters in ASCII encodation&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encodeAsciiRange(&#10; array&amp;lt;int,int&amp;gt; &amp;amp;$cdw,&#10; int &amp;amp;$cdw_num,&#10; string $data,&#10; int $from,&#10; int $to&#10;): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$cdw&lt;/code&gt; (array&amp;lt;int,int&amp;gt;): Codewords array&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$cdw_num&lt;/code&gt; (int): Codewords number&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$from&lt;/code&gt; (int): First data index to encode&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$to&lt;/code&gt; (int): Last data index to encode&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/EncodeTxt.php#L82"&gt;src/Type/Square/Datamatrix/EncodeTxt.php:82&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_encodeTXT"&gt;encodeTXT()&lt;/h3&gt;&#10;&lt;p&gt;Encode TXT&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encodeTXT(&#10; array&amp;lt;int,int&amp;gt; &amp;amp;$cdw,&#10; int &amp;amp;$cdw_num,&#10; int &amp;amp;$pos,&#10; int &amp;amp;$data_length,&#10; string &amp;amp;$data,&#10; int &amp;amp;$enc&#10;): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Modes</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/</link><pubDate>Sat, 26 Sep 2026 11:28:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Modes extends Placement&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Placement/"&gt;Placement&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Modes.php#L34"&gt;src/Type/Square/Datamatrix/Modes.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Modes for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_gsonemode"&gt;$gsonemode&lt;/h3&gt;&#10;&lt;p&gt;True when the GS1 variant is selected and FNC1 separators are encoded as codeword 232.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public bool $gsonemode = false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Modes.php#L74"&gt;src/Type/Square/Datamatrix/Modes.php:74&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_last_enc"&gt;$last_enc&lt;/h3&gt;&#10;&lt;p&gt;Store last used encoding for data codewords.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public int $last_enc = 0&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Modes.php#L57"&gt;src/Type/Square/Datamatrix/Modes.php:57&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_shape"&gt;$shape&lt;/h3&gt;&#10;&lt;p&gt;Datamatrix shape key (S=square, R=rectangular)&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public string $shape&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Modes.php#L62"&gt;src/Type/Square/Datamatrix/Modes.php:62&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_size"&gt;$size&lt;/h3&gt;&#10;&lt;p&gt;Requested symbol size as rows by columns, empty for the smallest size&#10;that fits. The encodation termination rules depend on how many codewords&#10;the symbol holds, so they need the requested size and not the smallest.&lt;/p&gt;</description></item><item><title>Steps</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Steps/</link><pubDate>Sat, 26 Sep 2026 11:28:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Steps/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Steps extends Modes&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/"&gt;Modes&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Steps.php#L34"&gt;src/Type/Square/Datamatrix/Steps.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Steps methods for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_lookAheadTest"&gt;lookAheadTest()&lt;/h3&gt;&#10;&lt;p&gt;The look-ahead test scans the data to be encoded to find the best mode (Annex P - steps from J to S).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public lookAheadTest(string $data, int $pos, int $mode): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to encode&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pos&lt;/code&gt; (int): Current position&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (int): Current encoding mode&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int: encoding mode&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Steps.php#L45"&gt;src/Type/Square/Datamatrix/Steps.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-modes"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/"&gt;Modes&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#property_gsonemode"&gt;$gsonemode&lt;/a&gt;: True when the GS1 variant is selected and FNC1 separators are encoded as codeword 232.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#property_last_enc"&gt;$last_enc&lt;/a&gt;: Store last used encoding for data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#property_shape"&gt;$shape&lt;/a&gt;: Datamatrix shape key (S=square, R=rectangular)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#property_size"&gt;$size&lt;/a&gt;: Requested symbol size as rows by columns, empty for the smallest size that fits.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#method_canStartEncodation"&gt;canStartEncodation()&lt;/a&gt;: Returns true if the encodation can start on the character.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#method_get253StateCodeword"&gt;get253StateCodeword()&lt;/a&gt;: Return the 253-state codeword&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#method_getSwitchEncodingCodeword"&gt;getSwitchEncodingCodeword()&lt;/a&gt;: Get the switching codeword to a new encoding mode (latch codeword)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Modes/#method_isGsOneChar"&gt;isGsOneChar()&lt;/a&gt;: Tell if the character is a GS1 separator: FNC1 (232) or GS (29).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-placement"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Placement/"&gt;Placement&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Placement/#method_getPlacementMap"&gt;getPlacementMap()&lt;/a&gt;: Build a placement map.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Barcode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Barcode/</link><pubDate>Mon, 21 Sep 2026 12:52:00 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Barcode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Barcode&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Barcode.php#L36"&gt;src/Barcode.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode factory class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BARCODETYPES"&gt;BARCODETYPES&lt;/h3&gt;&#10;&lt;p&gt;List of supported Barcode Types with description.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BARCODETYPES&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;AUSPOST&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Australia Post 4-State Customer Barcode&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 128&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128A&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 128 A&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128B&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 128 B&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C128C&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 128 C&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C16K&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 16K (stacked CODE 128)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C32&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 32 (Italian Pharmacode - IMH - Radix 32)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C49&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 49 (ANSI/AIM BC6)&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39+&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CODE 39 + CHECKSUM&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;C39E&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#f85149"&gt;&amp;#39;&lt;/span&gt;CODE &lt;span style="color:#a5d6ff"&gt;39&lt;/span&gt; EXT&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Barcode.php#L49"&gt;src/Barcode.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_MAX_CODE_LENGTH"&gt;MAX_CODE_LENGTH&lt;/h3&gt;&#10;&lt;p&gt;Maximum accepted length in bytes of the barcode payload.&lt;/p&gt;</description></item><item><title>Encodation</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Encodation/</link><pubDate>Mon, 21 Sep 2026 12:52:00 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Encodation/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBar&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encodation&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar/Encodation.php#L43"&gt;src/Type/Linear/GsOneDataBar/Encodation.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encodation methods of GS1 DataBar Expanded (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Chooses the encodation method of a sequence of GS1 Application Identifier&#10;element strings and builds its compressed data field. The general methods&#10;carry every element string in the general purpose data compaction field; the&#10;selected sequences of element strings listed in section 5.5.2.3.3 of the GS1&#10;General Specifications are packed into shorter fixed fields instead.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct()&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar/Encodation.php#L82"&gt;src/Type/Linear/GsOneDataBar/Encodation.php:82&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PdfColor</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfColor/</link><pubDate>Mon, 21 Sep 2026 12:32:10 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfColor/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PdfColor extends Pdf&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Pdf/"&gt;Pdf&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/PdfColor.php#L34"&gt;src/PdfColor.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;PDF color adapter with conformance-aware output.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getEmittedCmykSpotColors"&gt;getEmittedCmykSpotColors()&lt;/h3&gt;&#10;&lt;p&gt;Return the names of the emitted spot colors whose Separation alternate&#10;space is DeviceCMYK.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getEmittedCmykSpotColors(): array&amp;lt;int,string&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,string&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/PdfColor.php#L87"&gt;src/PdfColor.php:87&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getPdfColor"&gt;getPdfColor()&lt;/h3&gt;&#10;&lt;p&gt;Return a PDF color operator string.&lt;/p&gt;&#10;&lt;p&gt;When DeviceCMYK forcing is enabled, process colors are emitted as CMYK operators&#10;to avoid DeviceRGB output in restrictive PDF/X modes.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getPdfColor(&#10; string $color,&#10; bool $stroke = false,&#10; float $tint = 1,&#10; bool $allowSpot = true&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>SelectorMatcher</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-SelectorMatcher/</link><pubDate>Mon, 21 Sep 2026 12:32:10 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-SelectorMatcher/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\CSS&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class SelectorMatcher&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/SelectorMatcher.php#L61"&gt;src/CSS/SelectorMatcher.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CSS selector compiler and matcher for the SVG cascade.&lt;/p&gt;&#10;&lt;p&gt;Supports type, class, id and universal selectors, attribute selectors, the&#10;descendant, child, adjacent sibling and general sibling combinators, and the&#10;structural pseudo-classes that a document read in order can decide:&#10;&amp;lsquo;:root&amp;rsquo;, &amp;lsquo;:first-child&amp;rsquo;, &amp;lsquo;:nth-child()&amp;rsquo;, &amp;lsquo;:not()&amp;rsquo; over a simple compound.&lt;/p&gt;&#10;&lt;p&gt;A selector that needs to look ahead of the current element (&amp;rsquo;:last-child&amp;rsquo;,&#10;&amp;lsquo;:only-child&amp;rsquo;, &amp;lsquo;:nth-last-child()&amp;rsquo;, &amp;lsquo;:empty&amp;rsquo;) or that uses anything else is&#10;rejected by compile(), so it applies to nothing rather than applying wrongly.&lt;/p&gt;</description></item><item><title>Specificity</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-Specificity/</link><pubDate>Mon, 21 Sep 2026 12:32:10 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-Specificity/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\CSS&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Specificity&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/Specificity.php#L37"&gt;src/CSS/Specificity.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CSS 2.1 specificity (a,b,c) tuple calculator and comparator:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;a = number of ID selectors&lt;/li&gt;&#10;&lt;li&gt;b = number of class selectors, attribute selectors, and pseudo-classes&lt;/li&gt;&#10;&lt;li&gt;c = number of type selectors and pseudo-elements&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_classCount"&gt;$classCount&lt;/h3&gt;&#10;&lt;p&gt;Number of class selectors, attribute selectors, and pseudo-classes&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public int $classCount = 0&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/Specificity.php#L47"&gt;src/CSS/Specificity.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_idCount"&gt;$idCount&lt;/h3&gt;&#10;&lt;p&gt;Number of ID selectors&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public int $idCount = 0&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/Specificity.php#L42"&gt;src/CSS/Specificity.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_typeCount"&gt;$typeCount&lt;/h3&gt;&#10;&lt;p&gt;Number of type selectors and pseudo-elements&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public int $typeCount = 0&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/Specificity.php#L52"&gt;src/CSS/Specificity.php:52&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Base</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/</link><pubDate>Mon, 21 Sep 2026 00:11:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Base&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Base.php#L87"&gt;src/Base.php:87&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TTMatrix"&gt;TTMatrix&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_StyleData"&gt;StyleData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_StyleDataOpt"&gt;StyleDataOpt&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineCap&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineJoin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;miterLimit&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashArray&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dashPhase&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lineColor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;fillColor&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_GradientData"&gt;GradientData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;antialias&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;background&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?&lt;/span&gt;Model,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colors&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;exponent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;opacity&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;offset&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;colspace&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;coords&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pattern&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;stream&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transparency&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_IDMATRIX"&gt;IDMATRIX&lt;/h3&gt;&#10;&lt;p&gt;Identity matrix for transformations.&lt;/p&gt;</description></item><item><title>Draw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Draw/</link><pubDate>Mon, 21 Sep 2026 00:11:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Draw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Draw extends Gradient&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Gradient/"&gt;Gradient&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Draw.php#L39"&gt;src/Draw.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getArrow"&gt;getArrow()&lt;/h3&gt;&#10;&lt;p&gt;Draws an arrow.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArrow(&#10; float $posx0,&#10; float $posy0,&#10; float $posx1,&#10; float $posy1,&#10; int $headmode = 0,&#10; float $armsize = 5,&#10; float $armangle = 15,&#10; StyleDataOpt $style = []&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$posx0&lt;/code&gt; (float): Abscissa of first point.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posy0&lt;/code&gt; (float): Ordinate of first point.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posx1&lt;/code&gt; (float): Abscissa of second point (head side).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posy1&lt;/code&gt; (float): Ordinate of second point (head side)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$headmode&lt;/code&gt; (int): Arrow head mode:&#10;0 = head arms only;&#10;1 = closed head without filling;&#10;2 = closed and filled head;&#10;3 = filled head.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$armsize&lt;/code&gt; (float): Length of head arms.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$armangle&lt;/code&gt; (float): Angle in degrees between an head arm and the arrow shaft.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$style&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_StyleDataOpt"&gt;StyleDataOpt&lt;/a&gt;): Line style to apply.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: PDF command&lt;/p&gt;</description></item><item><title>Style</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Style/</link><pubDate>Mon, 21 Sep 2026 00:11:31 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Style/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Style extends Base&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/"&gt;Base&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Style.php#L38"&gt;src/Style.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_add"&gt;add()&lt;/h3&gt;&#10;&lt;p&gt;Add a new style&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public add(StyleDataOpt $style = [], bool $inheritlast = false): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$style&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_StyleDataOpt"&gt;StyleDataOpt&lt;/a&gt;): Style to add.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$inheritlast&lt;/code&gt; (bool): If true inherit missing values from the last style.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: PDF style string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Style.php#L233"&gt;src/Style.php:233&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getCurrentStyleArray"&gt;getCurrentStyleArray()&lt;/h3&gt;&#10;&lt;p&gt;Returns the last style array.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getCurrentStyleArray(): StyleDataOpt&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_StyleDataOpt"&gt;StyleDataOpt&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Style.php#L290"&gt;src/Style.php:290&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getCurrentStyleItem"&gt;getCurrentStyleItem()&lt;/h3&gt;&#10;&lt;p&gt;Returns the value of the specified item from the last inserted style.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getCurrentStyleItem(string $item): mixed&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ImportResourceLimitException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportResourceLimitException/</link><pubDate>Sun, 13 Sep 2026 10:40:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportResourceLimitException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportResourceLimitException extends ImportCorruptedSourceException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportCorruptedSourceException/"&gt;ImportCorruptedSourceException&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportResourceLimitException.php#L34"&gt;src/Import/ImportResourceLimitException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when a parsing limit of the source document prevents an object from being resolved.&lt;/p&gt;</description></item><item><title>LimitException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-LimitException/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-LimitException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class LimitException extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Exception/"&gt;Exception&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/LimitException.php#L34"&gt;src/LimitException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Raised when a parsing safety limit prevents an object from being resolved.&lt;/p&gt;</description></item><item><title>Parser</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Parser/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Parser/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Parser extends Xref&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-Xref/"&gt;Xref&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Parser.php#L43"&gt;src/Parser.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;PHP class for parsing PDF documents.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULT_MAX_STREAM_SIZE"&gt;DEFAULT_MAX_STREAM_SIZE&lt;/h3&gt;&#10;&lt;p&gt;Default maximum size in bytes of a single decoded stream (32MB).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DEFAULT_MAX_STREAM_SIZE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;33554432&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Parser.php#L48"&gt;src/Parser.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_LIMIT_REFERENCE_CYCLE"&gt;LIMIT_REFERENCE_CYCLE&lt;/h3&gt;&#10;&lt;p&gt;Limit event kind: a reference cycle left a reference unresolved.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;LIMIT_REFERENCE_CYCLE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;reference_cycle&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Parser.php#L71"&gt;src/Parser.php:71&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_LIMIT_RESOLUTION_DEPTH"&gt;LIMIT_RESOLUTION_DEPTH&lt;/h3&gt;&#10;&lt;p&gt;Limit event kind: the resolution depth limit left a reference unresolved.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;LIMIT_RESOLUTION_DEPTH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;resolution_depth&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Parser.php#L66"&gt;src/Parser.php:66&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize the PDF parser&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,bool|int&amp;gt; $cfg = [])&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$cfg&lt;/code&gt; (array&amp;lt;string,bool|int&amp;gt;): Configuration parameters:&#10;&amp;lsquo;ignore_filter_errors&amp;rsquo;: if true, ignore filter decoding errors;&#10;&amp;lsquo;decode_streams&amp;rsquo;: if true, decode stream payloads while parsing&#10;regular indirect objects;&#10;&amp;lsquo;max_stream_size&amp;rsquo;: maximum size in bytes of a single decoded&#10;stream, 0 means unlimited;&#10;&amp;lsquo;max_resolution_depth&amp;rsquo;: maximum number of indirect object&#10;resolutions in flight at once, values below 1 are clamped to 1;&#10;&amp;lsquo;max_nesting_depth&amp;rsquo;: maximum nesting depth of array and&#10;dictionary objects, values below 1 are clamped to 1;&#10;&amp;lsquo;strict_limits&amp;rsquo;: if true, raise a LimitException as soon as a&#10;limit or a reference cycle leaves an object unresolved.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Parser.php#L137"&gt;src/Parser.php:137&lt;/a&gt;&lt;/p&gt;</description></item><item><title>RawObject</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-RawObject/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-RawObject/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser\Process&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class RawObject&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Process/RawObject.php#L78"&gt;src/Process/RawObject.php:78&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Process Raw Objects&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_RawObjectArray"&gt;RawObjectArray&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{string, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_RawObjectValue"&gt;RawObjectValue&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Xref</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-Xref/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-Xref/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser\Process&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Xref extends XrefStream&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-XrefStream/"&gt;XrefStream&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Process/Xref.php#L61"&gt;src/Process/Xref.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Process the cross-reference sections and the trailer&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_XrefDataPartial"&gt;XrefDataPartial&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trailer&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xref&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_XrefDataInput"&gt;XrefDataInput&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trailer&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xref&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>XrefStream</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-XrefStream/</link><pubDate>Sun, 13 Sep 2026 10:23:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-XrefStream/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser\Process&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class XrefStream extends RawObject&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Process-RawObject/"&gt;RawObject&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Process/XrefStream.php#L51"&gt;src/Process/XrefStream.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Process the cross-reference stream entries&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_XrefData"&gt;XrefData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;trailer&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;size&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xref&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ImportanceNormalizer</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-ImportanceNormalizer/</link><pubDate>Sat, 05 Sep 2026 08:13:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-ImportanceNormalizer/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\CSS&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportanceNormalizer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/ImportanceNormalizer.php#L34"&gt;src/CSS/ImportanceNormalizer.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Propagates !important from a shorthand declaration to all of its longhands.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getAffectedLonghands"&gt;getAffectedLonghands()&lt;/h3&gt;&#10;&lt;p&gt;Return all longhand properties affected by a shorthand, including nested shorthands.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static getAffectedLonghands(string $property): list&amp;lt;string&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$property&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; list&amp;lt;string&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/ImportanceNormalizer.php#L84"&gt;src/CSS/ImportanceNormalizer.php:84&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_normalize"&gt;normalize()&lt;/h3&gt;&#10;&lt;p&gt;Normalize a CSS declaration list to ensure !important is properly applied to all longhands.&lt;/p&gt;&#10;&lt;p&gt;When a shorthand property has !important, all its longhands should inherit !important.&#10;This ensures consistent precedence across the cascade.&lt;/p&gt;</description></item><item><title>Signer</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Signer/</link><pubDate>Sat, 05 Sep 2026 08:07:42 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Signer/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Signer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Signer.php#L60"&gt;src/Signer.php:60&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Package-internal orchestration entry point that ties the CMS builder, the RFC&#10;3161 timestamp codec, and the LTV material collector together behind two&#10;host-facing calls. It stays transport-injected and free of file and network&#10;access: the host loads keys and owns HTTP (and SSRF protection).&lt;/p&gt;&#10;&lt;p&gt;sign() produces the detached CAdES CMS for a document&amp;rsquo;s ByteRange bytes. For a&#10;legacy or PAdES B-B profile that is the plain CMS; for B-T and above it also&#10;requests an RFC 3161 signature timestamp and embeds it as the SignerInfo&#10;id-aa-signatureTimeStampToken unsigned attribute.&lt;/p&gt;</description></item><item><title>Lzw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Lzw/</link><pubDate>Sat, 05 Sep 2026 08:07:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Lzw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Lzw implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Lzw.php#L38"&gt;src/Type/Lzw.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;LZWDecode filter (PDF 32000-1:2008 §7.4.4).&#10;Decompresses LZW (Lempel-Ziv-Welch) data and reverses the optional predictor.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;lsquo;EarlyChange&amp;rsquo; (int): 1 (default) increases the code length one code early; 0 disables it.&lt;/li&gt;&#10;&lt;li&gt;&amp;lsquo;MaxOutputSize&amp;rsquo; (int): decoded-size cap in bytes; 0 (default) = unlimited.&lt;/li&gt;&#10;&lt;li&gt;&amp;lsquo;Predictor&amp;rsquo;, &amp;lsquo;Colors&amp;rsquo;, &amp;lsquo;BitsPerComponent&amp;rsquo;, &amp;lsquo;Columns&amp;rsquo;: see Predictor.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;</description></item><item><title>BarcodeType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-BarcodeType/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-BarcodeType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum BarcodeType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/BarcodeType.php#L38"&gt;src/BarcodeType.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the supported barcode symbologies. The backing value of each&#10;case is the leading type token accepted by Barcode::getBarcodeObj() (before&#10;any comma-separated extra parameters).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AUSPOST"&gt;&lt;/a&gt;&lt;code&gt;AUSPOST = 'AUSPOST'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C128"&gt;&lt;/a&gt;&lt;code&gt;C128 = 'C128'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C128A"&gt;&lt;/a&gt;&lt;code&gt;C128A = 'C128A'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C128B"&gt;&lt;/a&gt;&lt;code&gt;C128B = 'C128B'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C128C"&gt;&lt;/a&gt;&lt;code&gt;C128C = 'C128C'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C16K"&gt;&lt;/a&gt;&lt;code&gt;C16K = 'C16K'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C32"&gt;&lt;/a&gt;&lt;code&gt;C32 = 'C32'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C49"&gt;&lt;/a&gt;&lt;code&gt;C49 = 'C49'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C39"&gt;&lt;/a&gt;&lt;code&gt;C39 = 'C39'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C39Plus"&gt;&lt;/a&gt;&lt;code&gt;C39Plus = 'C39+'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C39E"&gt;&lt;/a&gt;&lt;code&gt;C39E = 'C39E'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C39EPlus"&gt;&lt;/a&gt;&lt;code&gt;C39EPlus = 'C39E+'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C93"&gt;&lt;/a&gt;&lt;code&gt;C93 = 'C93'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CODABAR"&gt;&lt;/a&gt;&lt;code&gt;CODABAR = 'CODABAR'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CODE11"&gt;&lt;/a&gt;&lt;code&gt;CODE11 = 'CODE11'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABAR"&gt;&lt;/a&gt;&lt;code&gt;DATABAR = 'DATABAR'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABAREXP"&gt;&lt;/a&gt;&lt;code&gt;DATABAREXP = 'DATABAREXP'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABAREXPSTACK"&gt;&lt;/a&gt;&lt;code&gt;DATABAREXPSTACK = 'DATABAREXPSTACK'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABARLIMITED"&gt;&lt;/a&gt;&lt;code&gt;DATABARLIMITED = 'DATABARLIMITED'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABARSTACK"&gt;&lt;/a&gt;&lt;code&gt;DATABARSTACK = 'DATABARSTACK'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABARSTACKOMNI"&gt;&lt;/a&gt;&lt;code&gt;DATABARSTACKOMNI = 'DATABARSTACKOMNI'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATABARTRUNC"&gt;&lt;/a&gt;&lt;code&gt;DATABARTRUNC = 'DATABARTRUNC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EAN13"&gt;&lt;/a&gt;&lt;code&gt;EAN13 = 'EAN13'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EAN2"&gt;&lt;/a&gt;&lt;code&gt;EAN2 = 'EAN2'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EAN5"&gt;&lt;/a&gt;&lt;code&gt;EAN5 = 'EAN5'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EAN8"&gt;&lt;/a&gt;&lt;code&gt;EAN8 = 'EAN8'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_GS114"&gt;&lt;/a&gt;&lt;code&gt;GS114 = 'GS114'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_GS1128"&gt;&lt;/a&gt;&lt;code&gt;GS1128 = 'GS1128'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HIBC128"&gt;&lt;/a&gt;&lt;code&gt;HIBC128 = 'HIBC128'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HIBC39"&gt;&lt;/a&gt;&lt;code&gt;HIBC39 = 'HIBC39'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_I25"&gt;&lt;/a&gt;&lt;code&gt;I25 = 'I25'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_I25Plus"&gt;&lt;/a&gt;&lt;code&gt;I25Plus = 'I25+'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_IDENTCODE"&gt;&lt;/a&gt;&lt;code&gt;IDENTCODE = 'IDENTCODE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_IMB"&gt;&lt;/a&gt;&lt;code&gt;IMB = 'IMB'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_IMBPRE"&gt;&lt;/a&gt;&lt;code&gt;IMBPRE = 'IMBPRE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ITF14"&gt;&lt;/a&gt;&lt;code&gt;ITF14 = 'ITF14'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_JPPOST"&gt;&lt;/a&gt;&lt;code&gt;JPPOST = 'JPPOST'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_KIX"&gt;&lt;/a&gt;&lt;code&gt;KIX = 'KIX'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_LEITCODE"&gt;&lt;/a&gt;&lt;code&gt;LEITCODE = 'LEITCODE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_LOGMARS"&gt;&lt;/a&gt;&lt;code&gt;LOGMARS = 'LOGMARS'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_LRAW"&gt;&lt;/a&gt;&lt;code&gt;LRAW = 'LRAW'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_MAILMARK"&gt;&lt;/a&gt;&lt;code&gt;MAILMARK = 'MAILMARK'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_MSI"&gt;&lt;/a&gt;&lt;code&gt;MSI = 'MSI'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_MSIPlus"&gt;&lt;/a&gt;&lt;code&gt;MSIPlus = 'MSI+'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PHARMA"&gt;&lt;/a&gt;&lt;code&gt;PHARMA = 'PHARMA'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PHARMA2T"&gt;&lt;/a&gt;&lt;code&gt;PHARMA2T = 'PHARMA2T'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PLANET"&gt;&lt;/a&gt;&lt;code&gt;PLANET = 'PLANET'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PLESSEY"&gt;&lt;/a&gt;&lt;code&gt;PLESSEY = 'PLESSEY'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_POSTNET"&gt;&lt;/a&gt;&lt;code&gt;POSTNET = 'POSTNET'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PZN"&gt;&lt;/a&gt;&lt;code&gt;PZN = 'PZN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_RMS4CC"&gt;&lt;/a&gt;&lt;code&gt;RMS4CC = 'RMS4CC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S25"&gt;&lt;/a&gt;&lt;code&gt;S25 = 'S25'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S25Plus"&gt;&lt;/a&gt;&lt;code&gt;S25Plus = 'S25+'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S25DATALOGIC"&gt;&lt;/a&gt;&lt;code&gt;S25DATALOGIC = 'S25DATALOGIC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S25IATA"&gt;&lt;/a&gt;&lt;code&gt;S25IATA = 'S25IATA'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S25MATRIX"&gt;&lt;/a&gt;&lt;code&gt;S25MATRIX = 'S25MATRIX'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_SSCC18"&gt;&lt;/a&gt;&lt;code&gt;SSCC18 = 'SSCC18'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TELEPEN"&gt;&lt;/a&gt;&lt;code&gt;TELEPEN = 'TELEPEN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UPCA"&gt;&lt;/a&gt;&lt;code&gt;UPCA = 'UPCA'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UPCE"&gt;&lt;/a&gt;&lt;code&gt;UPCE = 'UPCE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AZTEC"&gt;&lt;/a&gt;&lt;code&gt;AZTEC = 'AZTEC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AZTECRUNE"&gt;&lt;/a&gt;&lt;code&gt;AZTECRUNE = 'AZTECRUNE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DATAMATRIX"&gt;&lt;/a&gt;&lt;code&gt;DATAMATRIX = 'DATAMATRIX'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DMRE"&gt;&lt;/a&gt;&lt;code&gt;DMRE = 'DMRE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HANXIN"&gt;&lt;/a&gt;&lt;code&gt;HANXIN = 'HANXIN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HIBCAZ"&gt;&lt;/a&gt;&lt;code&gt;HIBCAZ = 'HIBCAZ'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HIBCDM"&gt;&lt;/a&gt;&lt;code&gt;HIBCDM = 'HIBCDM'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HIBCQR"&gt;&lt;/a&gt;&lt;code&gt;HIBCQR = 'HIBCQR'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_MICROQR"&gt;&lt;/a&gt;&lt;code&gt;MICROQR = 'MICROQR'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PDF417"&gt;&lt;/a&gt;&lt;code&gt;PDF417 = 'PDF417'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PDF417C"&gt;&lt;/a&gt;&lt;code&gt;PDF417C = 'PDF417C'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_QRCODE"&gt;&lt;/a&gt;&lt;code&gt;QRCODE = 'QRCODE'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_SRAW"&gt;&lt;/a&gt;&lt;code&gt;SRAW = 'SRAW'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose barcode type token to the matching enum case.&lt;/p&gt;</description></item><item><title>Compaction</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Compaction/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Compaction/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Compaction.php#L34"&gt;src/Type/Square/HanXin/Compaction.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Data analysis and information bit stream of the HanXin Barcode type class&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Data/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Data.php#L34"&gt;src/Type/Square/HanXin/Data.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol tables for the HanXin Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ALIGNMENT"&gt;ALIGNMENT&lt;/h3&gt;&#10;&lt;p&gt;Alignment pattern parameters of Annex A, by version: the length in&#10;modules of the two alignment lines of the bottom left corner, the length&#10;of the other alignment lines and the number of alignment line steps.&lt;/p&gt;&#10;&lt;p&gt;The versions 1 to 3 have no alignment pattern.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ALIGNMENT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;22&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;23&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Data.php#L220"&gt;src/Type/Square/HanXin/Data.php:220&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Encode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Encode/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Encode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encode extends Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Compaction/"&gt;Compaction&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Encode.php#L37"&gt;src/Type/Square/HanXin/Encode.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol builder for the HanXin Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Build the symbol.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $code, int $level, int $version, int $mask)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$code&lt;/code&gt; (string): Code to encode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$level&lt;/code&gt; (int): Error correction level, from 1 to 4.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$version&lt;/code&gt; (int): Symbol version, from 1 to 84, or 0 to select the&#10;smallest symbol able to carry the data.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mask&lt;/code&gt; (int): Data mask pattern reference, from 0 to 3, or a&#10;negative value to select the one with the lowest&#10;penalty score.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Encode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Encode/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Encode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encode extends Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Compaction/"&gt;Compaction&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Encode.php#L37"&gt;src/Type/Square/MicroQrCode/Encode.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol builder for the MicroQrCode Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Build the symbol.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $code, string $level, int $version, int $mode)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$code&lt;/code&gt; (string): Code to encode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$level&lt;/code&gt; (string): Error correction level (L, M or Q), or an empty&#10;string to select the smallest symbol.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$version&lt;/code&gt; (int): Symbol version, from 1 to 4, or 0 to select the&#10;smallest symbol.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (int): Encodation mode, or a negative value to select the&#10;mode that yields the shortest bit stream.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Encode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Encode/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Encode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encode extends Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Compaction/"&gt;Compaction&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Encode.php#L38"&gt;src/Type/Square/QrCode/Encode.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol builder for the QrCode Barcode type class, sections 7.5 to 7.10 of&#10;ISO/IEC 18004.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MASKS"&gt;MASKS&lt;/h3&gt;&#10;&lt;p&gt;Number of data mask patterns, Table 10 of ISO/IEC 18004.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MASKS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Encode.php#L45"&gt;src/Type/Square/QrCode/Encode.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_MAX_CHARACTERS"&gt;MAX_CHARACTERS&lt;/h3&gt;&#10;&lt;p&gt;Highest number of characters any version and mode can carry, which is the&#10;numeric capacity of the version 40 at the error correction level L.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_CHARACTERS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;7089&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Encode.php#L53"&gt;src/Type/Square/QrCode/Encode.php:53&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Build the symbol.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $code,&#10; int $level,&#10; int $version,&#10; bool $kanji,&#10; int $randomMask = -1,&#10; bool $bestMask = true,&#10; int $defaultMask = 2&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Geometry</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Geometry/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-Geometry/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Geometry&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Geometry.php#L38"&gt;src/Type/Square/HanXin/Geometry.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Function pattern placement of the HanXin Barcode type class&lt;/p&gt;&#10;&lt;p&gt;The matrix cells hold 1 for a dark module, 0 for a light one, the string &amp;lsquo;I&amp;rsquo;&#10;for a module of a function information area and null for a module of the&#10;encoding region.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_INFO"&gt;INFO&lt;/h3&gt;&#10;&lt;p&gt;Module of a function information area.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;INFO&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;I&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Geometry.php#L45"&gt;src/Type/Square/HanXin/Geometry.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Build the function patterns of the symbol.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int $version)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$version&lt;/code&gt; (int): Symbol version, from 1 to 84.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/Geometry.php#L72"&gt;src/Type/Square/HanXin/Geometry.php:72&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HanXin</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HanXin extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin.php#L50"&gt;src/Type/Square/HanXin.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HanXin Barcode type class&#10;Han Xin Code (GB/T 21049, ISO/IEC 20830)&lt;/p&gt;&#10;&lt;p&gt;Matrix symbology with four position detection patterns, a stepped alignment&#10;pattern and eighty four symbol versions.&#10;Symbol sizes: 23x23 to 189x189 modules, in steps of two&#10;Error correction levels: L1, L2, L3 and L4&#10;Maximum data characters: 7827 digits, 4350 text characters or 3261 bytes&lt;/p&gt;&#10;&lt;p&gt;The encoder uses the numeric, Text, binary byte, common Chinese character&#10;region one and two and GB 18030 two and four byte region modes. The ECI,&#10;Unicode, GS1 and URI modes are not available.&lt;/p&gt;</description></item><item><title>HanXinEccLevel</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-HanXinEccLevel/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HanXin-HanXinEccLevel/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\HanXin&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum HanXinEccLevel: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HanXin/HanXinEccLevel.php#L34"&gt;src/Type/Square/HanXin/HanXinEccLevel.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Han Xin Code error correction level.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L1"&gt;&lt;/a&gt;&lt;code&gt;L1 = 'L1'&lt;/code&gt;: Recovers 8% of the codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L2"&gt;&lt;/a&gt;&lt;code&gt;L2 = 'L2'&lt;/code&gt;: Recovers 15% of the codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L3"&gt;&lt;/a&gt;&lt;code&gt;L3 = 'L3'&lt;/code&gt;: Recovers 23% of the codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L4"&gt;&lt;/a&gt;&lt;code&gt;L4 = 'L4'&lt;/code&gt;: Recovers 30% of the codewords.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose error correction level value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical token, the level number alone or an enum instance&#10;(returned unchanged). Unknown values fall back to L1.&lt;/p&gt;</description></item><item><title>QrCode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class QrCode extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode.php#L48"&gt;src/Type/Square/QrCode.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;QrCode Barcode type class&#10;QR Code (ISO/IEC 18004)&lt;/p&gt;&#10;&lt;p&gt;Matrix symbology with three finder patterns and forty symbol versions.&#10;Symbol sizes: 21x21 to 177x177 modules, in steps of four&#10;Error correction levels: L, M, Q and H&#10;Maximum data characters: 7089 digits, 4296 alphanumeric or 2953 bytes&lt;/p&gt;&#10;&lt;p&gt;QR Code is a registered trademark of DENSO WAVE INCORPORATED.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>QrEncodingMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-QrEncodingMode/</link><pubDate>Wed, 02 Sep 2026 14:37:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-QrEncodingMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum QrEncodingMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/QrEncodingMode.php#L36"&gt;src/Type/Square/QrCode/QrEncodingMode.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the QR Code data encoding mode hint. The backing value of each&#10;case is the token accepted as the second parameter of QrCode. Only KJ changes&#10;the encoder behaviour, by adding the kanji mode to the modes it may use.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NL"&gt;&lt;/a&gt;&lt;code&gt;NL = 'NL'&lt;/code&gt;: Variable, the numeric, alphanumeric and byte modes mixed.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NM"&gt;&lt;/a&gt;&lt;code&gt;NM = 'NM'&lt;/code&gt;: Numeric, kept for compatibility and equivalent to NL.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AN"&gt;&lt;/a&gt;&lt;code&gt;AN = 'AN'&lt;/code&gt;: Alphanumeric, kept for compatibility and equivalent to NL.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Byte"&gt;&lt;/a&gt;&lt;code&gt;Byte = '8B'&lt;/code&gt;: 8-bit byte, kept for compatibility and equivalent to NL.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_KJ"&gt;&lt;/a&gt;&lt;code&gt;KJ = 'KJ'&lt;/code&gt;: Kanji, which adds the kanji mode to the modes of NL.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ST"&gt;&lt;/a&gt;&lt;code&gt;ST = 'ST'&lt;/code&gt;: Structured append, which is not implemented and is equivalent to NL.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose encoding mode value to the matching enum case.&lt;/p&gt;</description></item><item><title>Mailmark</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Mailmark/</link><pubDate>Wed, 02 Sep 2026 11:16:33 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Mailmark/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Mailmark extends FourState&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FourState/"&gt;FourState&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Mailmark.php#L52"&gt;src/Type/Linear/Mailmark.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Mailmark;&lt;/p&gt;&#10;&lt;p&gt;Mailmark Barcode type class&#10;Royal Mail Mailmark 4-state barcode, types C and L&lt;/p&gt;&#10;&lt;p&gt;The Application String is split into six fields, each field is converted to an&#10;integer, the integers are consolidated into a single value, the value is split&#10;into data numbers of thirty or thirty two values, Reed Solomon check numbers&#10;over GF(32) are appended, every number becomes a six bit symbol of a fixed&#10;parity, the symbols are reordered into extender groups and each group drives&#10;the ascenders and descenders of three bars.&lt;/p&gt;</description></item><item><title>Compaction</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Compaction/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Compaction/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Compaction.php#L37"&gt;src/Type/Square/MicroQrCode/Compaction.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encodation modes of the MicroQrCode Barcode type class&lt;/p&gt;</description></item><item><title>Compaction</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Compaction/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Compaction/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Compaction.php#L35"&gt;src/Type/Square/QrCode/Compaction.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encodation modes of the QrCode Barcode type class, sections 7.4.3 to 7.4.7 of&#10;ISO/IEC 18004.&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Data/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Data.php#L40"&gt;src/Type/Square/QrCode/Data.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol tables for the QrCode Barcode type class.&lt;/p&gt;&#10;&lt;p&gt;Only the tables ISO/IEC 18004 states without a rule that generates them are&#10;held here. The codeword capacity of Table 1, the alignment pattern positions,&#10;the format information of Table C.1, the version information of Table D.1 and&#10;the data mask patterns of Table 10 all follow from a stated rule and are&#10;computed in Encode.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ALIGN_CENTRES"&gt;ALIGN_CENTRES&lt;/h3&gt;&#10;&lt;p&gt;Row and column coordinates of the centre module of the alignment&#10;patterns, Table E.1 of ISO/IEC 18004, by version. An alignment pattern is&#10;centred on every pair of coordinates except the three that the finder&#10;patterns cover. Version 1 carries no alignment pattern.&lt;/p&gt;</description></item><item><title>DeutschePost</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DeutschePost/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DeutschePost/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class DeutschePost extends InterleavedTwoOfFiveCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFiveCheck/"&gt;InterleavedTwoOfFiveCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/DeutschePost.php#L41"&gt;src/Type/Linear/DeutschePost.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\DeutschePost;&lt;/p&gt;&#10;&lt;p&gt;Shared layer of the Deutsche Post Identcode and Leitcode&lt;/p&gt;&#10;&lt;p&gt;Both are Interleaved 2 of 5 symbols of a fixed digit count whose check digit&#10;weights the data digits with 4 and 9 instead of the 3 and 1 of the symbology.&lt;/p&gt;&#10;&lt;p&gt;Identcode and Leitcode are trademarks of Deutsche Post DHL.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Geometry</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Geometry/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-Geometry/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Geometry&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Geometry.php#L37"&gt;src/Type/Square/QrCode/Geometry.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Function patterns of the QrCode Barcode type class, section 7.3 of&#10;ISO/IEC 18004: the finder patterns and their separators, the timing patterns,&#10;the alignment patterns, and the modules reserved for the format and the&#10;version information.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int $version)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$version&lt;/code&gt; (int): Symbol version, from 1 to 40.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/Geometry.php#L55"&gt;src/Type/Square/QrCode/Geometry.php:55&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getAlignmentCentres"&gt;getAlignmentCentres()&lt;/h3&gt;&#10;&lt;p&gt;Returns the centre of every alignment pattern of the version: every pair&#10;of the coordinates of Table E.1 of ISO/IEC 18004, less the three pairs the&#10;finder patterns cover.&lt;/p&gt;</description></item><item><title>GsOneDataBar</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class GsOneDataBar extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar.php#L47"&gt;src/Type/Linear/GsOneDataBar.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBar;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBar Barcode type class&#10;Common structure of the GS1 DataBar family (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Every GS1 DataBar symbol is a continuous sequence of elements whose widths&#10;come from (n,k) subsets: a symbol character of n modules is split into an odd&#10;and an even subset of k elements each, and the value of the character selects&#10;one combination of element widths from each subset. This class holds the&#10;subset combination algorithm, the weighted checksum and the drawing helpers&#10;shared by the seven variations.&lt;/p&gt;</description></item><item><title>GsOneDataBarExpanded</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarExpanded/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarExpanded/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarExpanded extends GsOneDataBar&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar/"&gt;GsOneDataBar&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarExpanded.php#L54"&gt;src/Type/Linear/GsOneDataBarExpanded.php:54&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarExpanded;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarExpanded Barcode type class&#10;GS1 DataBar Expanded (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Variable length symbol of 4 to 22 symbol characters carrying any sequence of&#10;GS1 Application Identifier element strings. The input is the bracketed form&#10;&amp;ldquo;(ai)value(ai)value&amp;hellip;&amp;rdquo;, which is also the human readable interpretation.&lt;/p&gt;&#10;&lt;p&gt;The data is turned into a binary string of 12 bits per data character: the&#10;linkage flag, the encodation method, the two bits that repeat the symbol&#10;length, the compressed data field of the method and the general purpose data&#10;compaction field. The binary string is cut into (17,4) symbol characters, and&#10;the first symbol character is a check character carrying the symbol length&#10;and the modulo 211 checksum of the data character elements.&lt;/p&gt;</description></item><item><title>GsOneDataBarExpandedStacked</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarExpandedStacked/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarExpandedStacked/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarExpandedStacked extends GsOneDataBarExpanded&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarExpanded/"&gt;GsOneDataBarExpanded&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarExpandedStacked.php#L51"&gt;src/Type/Linear/GsOneDataBarExpandedStacked.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarExpandedStacked;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarExpandedStacked Barcode type class&#10;GS1 DataBar Expanded Stacked (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Multi-row variation of GS1 DataBar Expanded of 2 to 11 rows, each 2 to 20&#10;segments wide and 34 modules high, divided by separator patterns of three&#10;module rows. The encoding is identical to GS1 DataBar Expanded; the symbol&#10;characters are laid out over the rows in order, every row but the last one&#10;carrying the same even number of them.&lt;/p&gt;</description></item><item><title>GsOneDataBarLimited</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarLimited/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarLimited/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarLimited extends GsOneDataBar&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar/"&gt;GsOneDataBar&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarLimited.php#L50"&gt;src/Type/Linear/GsOneDataBarLimited.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarLimited;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarLimited Barcode type class&#10;GS1 DataBar Limited (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Symbol of 47 elements and 79 modules encoding the element string of the&#10;Global Trade Item Number, Application Identifier (01), for small items that&#10;are not read by omnidirectional point of sale scanners. Only the Indicator&#10;digits 0 and 1 are encodable.&lt;/p&gt;&#10;&lt;p&gt;The value of the symbol is the 13 data digits of the key, offset by a fixed&#10;amount when the linkage flag is set. It is split into a left and a right&#10;(26,7) data character, and the (18,7) check character between them carries&#10;the modulo 89 checksum of the data character elements.&lt;/p&gt;</description></item><item><title>GsOneDataBarOmni</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarOmni/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarOmni/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarOmni extends GsOneDataBar&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar/"&gt;GsOneDataBar&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarOmni.php#L50"&gt;src/Type/Linear/GsOneDataBarOmni.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarOmni;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarOmni Barcode type class&#10;GS1 DataBar Omnidirectional (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Symbol of 46 elements and 96 modules encoding the element string of the&#10;Global Trade Item Number, Application Identifier (01). The input is the plain&#10;digit string: a code of the full length must carry a valid check digit, a&#10;shorter one is left-padded with zeros and the check digit is appended.&lt;/p&gt;&#10;&lt;p&gt;The value of the symbol is the linkage flag followed by the 13 data digits of&#10;the key. It is split into a left and a right data character pair, and each&#10;pair into an outside (16,4) and an inside (15,4) data character. The two&#10;finder patterns between them carry the modulo 79 checksum of the data&#10;character elements.&lt;/p&gt;</description></item><item><title>GsOneDataBarStacked</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarStacked/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarStacked/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarStacked extends GsOneDataBarOmni&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarOmni/"&gt;GsOneDataBarOmni&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarStacked.php#L46"&gt;src/Type/Linear/GsOneDataBarStacked.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarStacked;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarStacked Barcode type class&#10;GS1 DataBar Stacked (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Reduced height two-row variation of GS1 DataBar Omnidirectional, 50 modules&#10;wide by 13 modules high. The top row is the left half of the Omnidirectional&#10;symbol followed by a guard pattern of a one module bar and a one module&#10;space, the bottom row is the same guard pattern followed by the right half,&#10;and a one module high separator pattern divides them. The encoding is&#10;identical to GS1 DataBar Omnidirectional.&lt;/p&gt;</description></item><item><title>GsOneDataBarStackedOmni</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarStackedOmni/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarStackedOmni/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarStackedOmni extends GsOneDataBarStacked&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarStacked/"&gt;GsOneDataBarStacked&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarStackedOmni.php#L45"&gt;src/Type/Linear/GsOneDataBarStackedOmni.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarStackedOmni;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarStackedOmni Barcode type class&#10;GS1 DataBar Stacked Omnidirectional (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Full height two-row variation of GS1 DataBar Omnidirectional, 50 modules wide&#10;by 69 modules high: two rows of 33 modules divided by a separator pattern of&#10;three module rows. The rows carry the same halves as GS1 DataBar Stacked.&lt;/p&gt;&#10;&lt;p&gt;The outer rows of the separator pattern are the complement of the adjacent&#10;symbol row, except over the finder pattern, where the ten modules that follow&#10;its first element alternate. The middle row alternates over its whole width.&lt;/p&gt;</description></item><item><title>GsOneDataBarTruncated</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarTruncated/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarTruncated/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneDataBarTruncated extends GsOneDataBarOmni&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBarOmni/"&gt;GsOneDataBarOmni&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBarTruncated.php#L40"&gt;src/Type/Linear/GsOneDataBarTruncated.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBarTruncated;&lt;/p&gt;&#10;&lt;p&gt;GsOneDataBarTruncated Barcode type class&#10;GS1 DataBar Truncated (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Reduced height variation of GS1 DataBar Omnidirectional, 96 modules wide by&#10;13 modules high. The encoding is identical.&lt;/p&gt;&#10;&lt;p&gt;GS1 and GS1 DataBar are registered trademarks of GS1 AISBL.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>GsOneElementString</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-GsOneElementString/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-GsOneElementString/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneElementString&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/GsOneElementString.php#L46"&gt;src/Type/GsOneElementString.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;GS1 Application Identifier element strings (GS1 General Specifications)&lt;/p&gt;&#10;&lt;p&gt;Reads the bracketed form &amp;ldquo;(ai)value(ai)value&amp;hellip;&amp;rdquo;, which is also the human&#10;readable interpretation, and checks the Application Identifier syntax, the&#10;encodable character set 82 and the predefined element string lengths.&#10;Parentheses are reserved as Application Identifier delimiters and cannot&#10;appear in a value. Element strings whose Application Identifier is not listed&#10;in PREDEFINED are of variable length and need an FNC1 separator unless they&#10;are last.&lt;/p&gt;</description></item><item><title>GsOneOneFour</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneOneFour/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneOneFour/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneOneFour extends SsccOneEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-SsccOneEight/"&gt;SsccOneEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneOneFour.php#L42"&gt;src/Type/Linear/GsOneOneFour.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneOneFour;&lt;/p&gt;&#10;&lt;p&gt;GsOneOneFour Barcode type class&#10;GS1-14 - EAN-14 - SCC-14 (GS1 General Specifications)&lt;/p&gt;&#10;&lt;p&gt;GS1-128 symbol carrying the single element string of the Global Trade Item&#10;Number, Application Identifier (01). The input is the plain digit string: a&#10;code of the full length must carry a valid check digit, a shorter one is&#10;left-padded with zeros and the check digit is appended.&lt;/p&gt;&#10;&lt;p&gt;GS1 and GS1-128 are registered trademarks of GS1 AISBL.&lt;/p&gt;</description></item><item><title>GsOneOneTwoEight</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneOneTwoEight/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneOneTwoEight/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class GsOneOneTwoEight extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneOneTwoEight.php#L48"&gt;src/Type/Linear/GsOneOneTwoEight.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\GsOneOneTwoEight;&lt;/p&gt;&#10;&lt;p&gt;GsOneOneTwoEight Barcode type class&#10;GS1-128 (GS1 General Specifications section 5.4)&lt;/p&gt;&#10;&lt;p&gt;CODE 128 symbol whose start character is immediately followed by FNC1 and&#10;whose data is a concatenation of GS1 Application Identifier element strings.&#10;The input is the bracketed form &amp;ldquo;(ai)value(ai)value&amp;hellip;&amp;rdquo;, which is also the&#10;human readable interpretation returned by getExtendedCode(). Parentheses are&#10;reserved as Application Identifier delimiters and cannot appear in a value.&#10;Element strings whose Application Identifier is not listed in PREDEFINED are&#10;of variable length and are followed by an FNC1 separator unless they are last.&lt;/p&gt;</description></item><item><title>Hibc</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Hibc/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Hibc/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Hibc&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Hibc.php#L46"&gt;src/Type/Hibc.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Hibc data structure class&#10;HIBC (Health Industry Bar Code) data structures&lt;/p&gt;&#10;&lt;p&gt;Validates a data structure of the Supplier Labeling Standard (ANSI/HIBC 2.6)&#10;or of the Provider Applications Standard (ANSI/HIBC 1.3) and appends the&#10;modulo 43 check character. The data structure is independent of the symbology&#10;that carries it, so the same string is handed unchanged to CODE 39, CODE 128,&#10;Data Matrix, QR Code or Aztec Code.&lt;/p&gt;</description></item><item><title>HibcAztec</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcAztec/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcAztec/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HibcAztec extends Aztec&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec/"&gt;Aztec&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HibcAztec.php#L46"&gt;src/Type/Square/HibcAztec.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HibcAztec Barcode type class&#10;HIBC in Aztec Code (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/p&gt;&#10;&lt;p&gt;Aztec Code symbol carrying a Health Industry Bar Code data structure. The&#10;input is the data structure without its modulo 43 check character, which is&#10;appended by Hibc. The data structure is encoded as it is, without the data&#10;format envelope of ISO/IEC 15434.&lt;/p&gt;&#10;&lt;p&gt;HIBC and HIBCC are trademarks of the Health Industry Business&#10;Communications Council.&lt;/p&gt;</description></item><item><title>HibcDatamatrix</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcDatamatrix/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcDatamatrix/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HibcDatamatrix extends Datamatrix&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix/"&gt;Datamatrix&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HibcDatamatrix.php#L46"&gt;src/Type/Square/HibcDatamatrix.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HibcDatamatrix Barcode type class&#10;HIBC in Data Matrix ECC 200 (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/p&gt;&#10;&lt;p&gt;Data Matrix symbol carrying a Health Industry Bar Code data structure. The&#10;input is the data structure without its modulo 43 check character, which is&#10;appended by Hibc. The data structure is encoded as it is, without the data&#10;format envelope of ISO/IEC 15434.&lt;/p&gt;&#10;&lt;p&gt;HIBC and HIBCC are trademarks of the Health Industry Business&#10;Communications Council.&lt;/p&gt;</description></item><item><title>HibcOneTwoEight</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-HibcOneTwoEight/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-HibcOneTwoEight/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HibcOneTwoEight extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/HibcOneTwoEight.php#L46"&gt;src/Type/Linear/HibcOneTwoEight.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\HibcOneTwoEight;&lt;/p&gt;&#10;&lt;p&gt;HibcOneTwoEight Barcode type class&#10;HIBC in CODE 128 (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/p&gt;&#10;&lt;p&gt;CODE 128 symbol carrying a Health Industry Bar Code data structure. The input&#10;is the data structure without its modulo 43 check character, which is&#10;appended by Hibc. The check character of the data structure is independent of&#10;the CODE 128 symbol check character.&lt;/p&gt;&#10;&lt;p&gt;HIBC and HIBCC are trademarks of the Health Industry Business&#10;Communications Council.&lt;/p&gt;</description></item><item><title>HibcQrCode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcQrCode/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-HibcQrCode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HibcQrCode extends QrCode&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode/"&gt;QrCode&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/HibcQrCode.php#L48"&gt;src/Type/Square/HibcQrCode.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HibcQrCode Barcode type class&#10;HIBC in QR Code (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/p&gt;&#10;&lt;p&gt;QR Code symbol carrying a Health Industry Bar Code data structure. The input&#10;is the data structure without its modulo 43 check character, which is&#10;appended by Hibc. The data structure is encoded as it is, without the data&#10;format envelope of ISO/IEC 15434.&lt;/p&gt;&#10;&lt;p&gt;HIBC and HIBCC are trademarks of the Health Industry Business&#10;Communications Council.&lt;/p&gt;</description></item><item><title>HibcThreeNine</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-HibcThreeNine/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-HibcThreeNine/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class HibcThreeNine extends CodeThreeNine&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNine/"&gt;CodeThreeNine&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/HibcThreeNine.php#L46"&gt;src/Type/Linear/HibcThreeNine.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\HibcThreeNine;&lt;/p&gt;&#10;&lt;p&gt;HibcThreeNine Barcode type class&#10;HIBC in CODE 39 (ANSI/HIBC 2.6 and ANSI/HIBC 1.3)&lt;/p&gt;&#10;&lt;p&gt;CODE 39 symbol carrying a Health Industry Bar Code data structure. The input&#10;is the data structure without its modulo 43 check character, which is&#10;appended by Hibc. There is no CODE 39 check character: the modulo 43 check&#10;character of the data structure is computed over the same character values.&lt;/p&gt;</description></item><item><title>Identcode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Identcode/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Identcode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Identcode extends DeutschePost&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DeutschePost/"&gt;DeutschePost&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Identcode.php#L40"&gt;src/Type/Linear/Identcode.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Identcode;&lt;/p&gt;&#10;&lt;p&gt;Identcode Barcode type class&#10;Deutsche Post Identcode&lt;/p&gt;&#10;&lt;p&gt;Twelve digits: two for the originating freight centre, three for the customer&#10;identifier, six for the consignment number and the check digit.&lt;/p&gt;&#10;&lt;p&gt;Identcode is a trademark of Deutsche Post DHL.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Imb</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Imb/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Imb/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Imb extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Imb.php#L49"&gt;src/Type/Linear/Imb.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Imb;&lt;/p&gt;&#10;&lt;p&gt;Imb Barcode type class&#10;IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200&lt;/p&gt;&#10;&lt;p&gt;65-bar code for use on mail in the United States.&#10;The payload is the concatenation of the tracking code and the routing code,&#10;separated by a hyphen:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Barcode Identifier: 2 digits, the second one in the range 0 to 4.&lt;/li&gt;&#10;&lt;li&gt;Service Type Identifier: 3 digits, 000 to 999.&lt;/li&gt;&#10;&lt;li&gt;Mailer Identifier: 6 digits (000000 to 899999) or 9 digits (900000000 to 999999999).&lt;/li&gt;&#10;&lt;li&gt;Serial Number: 9 digits with a 6 digit Mailer ID, 6 digits with a 9 digit one.&lt;/li&gt;&#10;&lt;li&gt;Delivery Point ZIP Code: 0, 5, 9, or 11 digits, after the hyphen.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Intelligent Mail is a registered trademark of the United States&#10;Postal Service.&lt;/p&gt;</description></item><item><title>ImbPre</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-ImbPre/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-ImbPre/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImbPre extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/ImbPre.php#L40"&gt;src/Type/Linear/ImbPre.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\ImbPre;&lt;/p&gt;&#10;&lt;p&gt;ImbPre Barcode type class&#10;IMB - Intelligent Mail Barcode pre-processed (USPS-B-3200)&lt;/p&gt;&#10;&lt;p&gt;Intelligent Mail is a registered trademark of the United States&#10;Postal Service.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>ItfOneFour</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-ItfOneFour/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-ItfOneFour/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ItfOneFour extends InterleavedTwoOfFiveCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFiveCheck/"&gt;InterleavedTwoOfFiveCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/ItfOneFour.php#L44"&gt;src/Type/Linear/ItfOneFour.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\ItfOneFour;&lt;/p&gt;&#10;&lt;p&gt;ItfOneFour Barcode type class&#10;ITF-14 (GS1 General Specifications)&lt;/p&gt;&#10;&lt;p&gt;Interleaved 2 of 5 symbol encoding a 14-digit GTIN, enclosed by the quiet&#10;zones and the bearer bar frame defined by the GS1 General Specifications.&#10;One module is half an X-dimension, so the 2.5:1 bar width ratio and the&#10;symbol proportions are expressed as whole modules.&lt;/p&gt;&#10;&lt;p&gt;GS1 is a registered trademark of GS1 AISBL.&lt;/p&gt;</description></item><item><title>KlantIndex</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-KlantIndex/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-KlantIndex/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class KlantIndex extends RoyalMailFourCc&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-RoyalMailFourCc/"&gt;RoyalMailFourCc&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/KlantIndex.php#L39"&gt;src/Type/Linear/KlantIndex.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\KlantIndex;&lt;/p&gt;&#10;&lt;p&gt;KlantIndex Barcode type class&#10;KIX (Klant index - Customer index)&lt;/p&gt;&#10;&lt;p&gt;KIX is a trademark of PostNL.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Leitcode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Leitcode/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Leitcode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Leitcode extends DeutschePost&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DeutschePost/"&gt;DeutschePost&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Leitcode.php#L40"&gt;src/Type/Linear/Leitcode.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Leitcode;&lt;/p&gt;&#10;&lt;p&gt;Leitcode Barcode type class&#10;Deutsche Post Leitcode&lt;/p&gt;&#10;&lt;p&gt;Fourteen digits: five for the postal code, three for the street code, three&#10;for the house number, two for the product code and the check digit.&lt;/p&gt;&#10;&lt;p&gt;Leitcode is a trademark of Deutsche Post DHL.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>MicroQrCode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class MicroQrCode extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode.php#L48"&gt;src/Type/Square/MicroQrCode.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;MicroQrCode Barcode type class&#10;Micro QR Code (ISO/IEC 18004)&lt;/p&gt;&#10;&lt;p&gt;Matrix symbology with a single finder pattern, four symbol sizes and a fixed&#10;error correction level per size.&#10;Symbol sizes: M1 11x11, M2 13x13, M3 15x15, M4 17x17 modules&#10;Error correction levels: L, M and Q; M1 carries error detection only&#10;Maximum data characters: 35 digits, 21 alphanumeric or 15 bytes&lt;/p&gt;&#10;&lt;p&gt;QR Code is a registered trademark of DENSO WAVE INCORPORATED.&lt;/p&gt;</description></item><item><title>Pharma</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Pharma/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Pharma/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Pharma extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Pharma.php#L39"&gt;src/Type/Linear/Pharma.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Pharma;&lt;/p&gt;&#10;&lt;p&gt;Pharma Barcode type class&#10;PHARMACODE&lt;/p&gt;&#10;&lt;p&gt;PHARMA-CODE is a trademark of Laetus GmbH.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>PharmaTwoTracks</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-PharmaTwoTracks/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-PharmaTwoTracks/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PharmaTwoTracks extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/PharmaTwoTracks.php#L39"&gt;src/Type/Linear/PharmaTwoTracks.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\PharmaTwoTracks;&lt;/p&gt;&#10;&lt;p&gt;PharmaTwoTracks Barcode type class&#10;PHARMACODE TWO-TRACKS&lt;/p&gt;&#10;&lt;p&gt;PHARMA-CODE is a trademark of Laetus GmbH.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>RoyalMailFourCc</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-RoyalMailFourCc/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-RoyalMailFourCc/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RoyalMailFourCc extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/RoyalMailFourCc.php#L39"&gt;src/Type/Linear/RoyalMailFourCc.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\RoyalMailFourCc;&lt;/p&gt;&#10;&lt;p&gt;RoyalMailFourCc Barcode type class&#10;RMS4CC (Royal Mail 4-state Customer Bar Code)&lt;/p&gt;&#10;&lt;p&gt;Royal Mail is a registered trademark of Royal Mail Group Ltd.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>SsccOneEight</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-SsccOneEight/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-SsccOneEight/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class SsccOneEight extends GsOneOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneOneTwoEight/"&gt;GsOneOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/SsccOneEight.php#L44"&gt;src/Type/Linear/SsccOneEight.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\SsccOneEight;&lt;/p&gt;&#10;&lt;p&gt;SsccOneEight Barcode type class&#10;SSCC-18 (GS1 General Specifications)&lt;/p&gt;&#10;&lt;p&gt;GS1-128 symbol carrying the single element string of the Serial Shipping&#10;Container Code, Application Identifier (00). The input is the plain digit&#10;string: a code of the full length must carry a valid check digit, a shorter&#10;one is left-padded with zeros and the check digit is appended.&lt;/p&gt;&#10;&lt;p&gt;GS1 and GS1-128 are registered trademarks of GS1 AISBL.&lt;/p&gt;</description></item><item><title>Telepen</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Telepen/</link><pubDate>Wed, 02 Sep 2026 10:51:19 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Telepen/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Telepen extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Telepen.php#L45"&gt;src/Type/Linear/Telepen.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Telepen;&lt;/p&gt;&#10;&lt;p&gt;Telepen Barcode type class&#10;Telepen (full ASCII)&lt;/p&gt;&#10;&lt;p&gt;Telepen encodes a stream of bits rather than one pattern per character. Each&#10;character is its ASCII value in eight bits with even parity, least&#10;significant bit first, so the stream always holds an even number of zero&#10;bits. The stream is split into single one bits and blocks of zero, any number&#10;of one bits, zero, and each of those is one bar and space pair.&lt;/p&gt;</description></item><item><title>AustraliaPost</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-AustraliaPost/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-AustraliaPost/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AustraliaPost extends FourState&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FourState/"&gt;FourState&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/AustraliaPost.php#L43"&gt;src/Type/Linear/AustraliaPost.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\AustraliaPost;&lt;/p&gt;&#10;&lt;p&gt;AustraliaPost Barcode type class&#10;Australia Post 4-State Customer Barcode&lt;/p&gt;&#10;&lt;p&gt;The symbol is the start bars, the Format Control Code, the sorting code, the&#10;Customer Information field of the wider formats, a filler bar, twelve Reed&#10;Solomon error correction bars and the stop bars. Every group of three bars is&#10;one symbol of a Reed Solomon code over GF(64).&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Aztec</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Aztec extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec.php#L40"&gt;src/Type/Square/Aztec.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Aztec Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>AztecRune</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-AztecRune/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-AztecRune/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AztecRune extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/AztecRune.php#L43"&gt;src/Type/Square/AztecRune.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;AztecRune Barcode type class&#10;Aztec Rune (ISO/IEC 24778:2008 Annex A)&lt;/p&gt;&#10;&lt;p&gt;Fixed size symbol carrying a single value from 0 to 255.&#10;Symbol size: 11x11 modules&#10;Input: the decimal value, from 0 to 255&#10;Transmitted as: three decimal digits with leading zeros&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeFourNine</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeFourNine/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeFourNine/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeFourNine extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeFourNine.php#L44"&gt;src/Type/Linear/CodeFourNine.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeFourNine;&lt;/p&gt;&#10;&lt;p&gt;CodeFourNine Barcode type class&#10;CODE 49&lt;/p&gt;&#10;&lt;p&gt;A multi-row symbology of two to eight rows of four symbol characters, each&#10;carrying two of the eight code characters of the row, the last of which is&#10;the modulo 49 row check character. Rows are identified by the parity of&#10;their symbol characters. The last row carries the row count and the starting&#10;mode, and the two or three modulo 2401 symbol check characters.&lt;/p&gt;</description></item><item><title>CodeOneSixK</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneSixK/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneSixK/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneSixK extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneSixK.php#L44"&gt;src/Type/Linear/CodeOneSixK.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneSixK;&lt;/p&gt;&#10;&lt;p&gt;CodeOneSixK Barcode type class&#10;CODE 16K&lt;/p&gt;&#10;&lt;p&gt;A multi-row symbology of two to sixteen rows of five symbol characters. The&#10;symbol characters are those of CODE 128 read space first, so the data&#10;encodation of CODE 128 applies unchanged. The first symbol character is the&#10;starting character, which carries the number of rows and the initial code&#10;set, and the last two are the modulo 107 check characters. Each row is&#10;identified by its own pair of start and stop patterns.&lt;/p&gt;</description></item><item><title>CodeOneTwoEight</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneTwoEight extends Process&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-Process/"&gt;Process&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneTwoEight.php#L37"&gt;src/Type/Linear/CodeOneTwoEight.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight;&lt;/p&gt;&#10;&lt;p&gt;CodeOneTwoEight Barcode type class&#10;CODE 128&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeThreeTwo</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeTwo/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeTwo/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeThreeTwo extends CodeThreeNine&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNine/"&gt;CodeThreeNine&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeThreeTwo.php#L44"&gt;src/Type/Linear/CodeThreeTwo.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeThreeTwo;&lt;/p&gt;&#10;&lt;p&gt;CodeThreeTwo Barcode type class&#10;CODE 32 (Italian Pharmacode - IMH - Radix 32)&lt;/p&gt;&#10;&lt;p&gt;Encodes the 9-digit Italian pharmaceutical product code (8 data digits and a&#10;modulo 10 check digit) as a 6-character base 32 number drawn with the CODE 39&#10;character set and no CODE 39 check character. The base 32 alphabet is made of&#10;the ten digits and the consonants, which is what keeps the 9-digit value&#10;within 6 characters. The human readable interpretation is the letter A&#10;followed by the 9 digits; the letter is not part of the symbol.&lt;/p&gt;</description></item><item><title>Compaction</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Compaction/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Compaction/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBar&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar/Compaction.php#L42"&gt;src/Type/Linear/GsOneDataBar/Compaction.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;General purpose data compaction of GS1 DataBar Expanded (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;p&gt;Turns a character sequence into a binary string with three encodation&#10;schemes: numeric, which packs a pair of digits or a digit and the Function 1&#10;Symbol Character into 7 bits and is current at the start of the field,&#10;alphanumeric, which spends 5 or 6 bits per character, and ISO/IEC 646, which&#10;spends 5, 7 or 8 bits per character. Latch characters switch between them.&lt;/p&gt;</description></item><item><title>Convert</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Convert&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Convert.php#L38"&gt;src/Type/Convert.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode Convert class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getGridArray"&gt;getGridArray()&lt;/h3&gt;&#10;&lt;p&gt;Get a raw barcode grid array&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getGridArray(string $space_char = &amp;#39;0&amp;#39;, string $bar_char = &amp;#39;1&amp;#39;): array&amp;lt;int,array&amp;lt;int,string&amp;gt;&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$space_char&lt;/code&gt; (string): Character or string to use for filling empty spaces&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$bar_char&lt;/code&gt; (string): Character or string to use for filling bars&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,array&amp;lt;int,string&amp;gt;&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Convert.php#L330"&gt;src/Type/Convert.php:330&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeFourNine-Data/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeFourNine-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\CodeFourNine&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeFourNine/Data.php#L36"&gt;src/Type/Linear/CodeFourNine/Data.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Data for CodeFourNine Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ASCII"&gt;ASCII&lt;/h3&gt;&#10;&lt;p&gt;Code characters of each of the 128 ASCII characters, in code point order.&lt;/p&gt;&#10;&lt;p&gt;A character outside the alphanumeric set is a Shift 1 or Shift 2 pair.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ASCII&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [[&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;38&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;10&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;11&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;13&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;14&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;15&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;17&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;18&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;19&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;21&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;22&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;23&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;24&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;25&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;26&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;27&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;28&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;29&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;30&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;31&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;33&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;34&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;35&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;38&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;7&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;39&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;42&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;36&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;43&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;37&lt;/span&gt;], [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeFourNine/Data.php#L82"&gt;src/Type/Linear/CodeFourNine/Data.php:82&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Data/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-GsOneDataBar-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\GsOneDataBar&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar/Data.php#L34"&gt;src/Type/Linear/GsOneDataBar/Data.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Tables of the GS1 DataBar family (ISO/IEC 24724)&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_EXPANDED_FINDER"&gt;EXPANDED_FINDER&lt;/h3&gt;&#10;&lt;p&gt;Element widths in modules of the twelve GS1 DataBar Expanded finder&#10;patterns, in the order A1, A2, B1, B2, C1, C2, D1, D2, E1, E2, F1, F2.&lt;/p&gt;&#10;&lt;p&gt;The patterns whose name ends in 1 start with a space, the ones whose name&#10;ends in 2 are their mirror image with the bars and spaces exchanged.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;EXPANDED_FINDER&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [[&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;8&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;9&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;]]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/GsOneDataBar/Data.php#L51"&gt;src/Type/Linear/GsOneDataBar/Data.php:51&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Data/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Data.php#L36"&gt;src/Type/Square/Datamatrix/Data.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Data for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CHSET"&gt;CHSET&lt;/h3&gt;&#10;&lt;p&gt;Basic set of characters for each encodation mode.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CHSET&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;C40&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Basic set for C40&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S2&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S3&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x20&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x30&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x31&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x32&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x6&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x33&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x7&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x34&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x8&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x35&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Data.php#L1098"&gt;src/Type/Square/Datamatrix/Data.php:1098&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_CHSET_ID"&gt;CHSET_ID&lt;/h3&gt;&#10;&lt;p&gt;Map encodation modes with character sets.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CHSET_ID&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;ENC_C40 &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;C40&amp;#39;&lt;/span&gt;, self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;ENC_TXT &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;TXT&amp;#39;&lt;/span&gt;, self&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;ENC_X12 &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;X12&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Data.php#L1087"&gt;src/Type/Square/Datamatrix/Data.php:1087&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_ENC_ASCII"&gt;ENC_ASCII&lt;/h3&gt;&#10;&lt;p&gt;ASCII encoding: ASCII character 0 to 127 (1 byte per CW)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ENC_ASCII&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Data.php#L52"&gt;src/Type/Square/Datamatrix/Data.php:52&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Data/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Data.php#L34"&gt;src/Type/Square/MicroQrCode/Data.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Symbol tables for the MicroQrCode Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_COUNT_BITS"&gt;COUNT_BITS&lt;/h3&gt;&#10;&lt;p&gt;Size in bits of the character count indicator, by version and mode.&lt;/p&gt;&#10;&lt;p&gt;A negative value marks a mode that the version does not support.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;COUNT_BITS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;], &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;]]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Data.php#L100"&gt;src/Type/Square/MicroQrCode/Data.php:100&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_FORMAT_GENERATOR"&gt;FORMAT_GENERATOR&lt;/h3&gt;&#10;&lt;p&gt;Generator polynomial of the BCH (15, 5) code of the format information.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FORMAT_GENERATOR&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;b10100110111&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Data.php#L145"&gt;src/Type/Square/MicroQrCode/Data.php:145&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_FORMAT_MASK"&gt;FORMAT_MASK&lt;/h3&gt;&#10;&lt;p&gt;Mask applied to the format information.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FORMAT_MASK&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;b100010001000101&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/Data.php#L152"&gt;src/Type/Square/MicroQrCode/Data.php:152&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_MODE_ALPHANUM"&gt;MODE_ALPHANUM&lt;/h3&gt;&#10;&lt;p&gt;Alphanumeric encodation mode.&lt;/p&gt;</description></item><item><title>DatalogicTwoOfFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DatalogicTwoOfFive/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-DatalogicTwoOfFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class DatalogicTwoOfFive extends MatrixTwoOfFive&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MatrixTwoOfFive/"&gt;MatrixTwoOfFive&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/DatalogicTwoOfFive.php#L39"&gt;src/Type/Linear/DatalogicTwoOfFive.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\DatalogicTwoOfFive;&lt;/p&gt;&#10;&lt;p&gt;DatalogicTwoOfFive Barcode type class&#10;2 of 5 Datalogic (China Post Code)&lt;/p&gt;&#10;&lt;p&gt;Variant of 2 of 5 Matrix with the same digit patterns and a different pair of&#10;start and stop patterns: two narrow bars for the start, a wide bar and a&#10;narrow bar for the stop. The check digit is optional and is not added.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Dmre</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Dmre/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Dmre/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Dmre extends Datamatrix&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix/"&gt;Datamatrix&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Dmre.php#L41"&gt;src/Type/Square/Dmre.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Dmre Barcode type class&#10;Data Matrix Rectangular Extension (ISO/IEC 21471)&lt;/p&gt;&#10;&lt;p&gt;Rectangular symbol sizes added to Data Matrix ECC 200 for narrow marking&#10;areas. The encodation, the symbol character placement and the Reed-Solomon&#10;error correction are those of ISO/IEC 16022; only the symbol sizes differ.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>DmreSize</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Dmre-DmreSize/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Dmre-DmreSize/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Dmre&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum DmreSize: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Dmre/DmreSize.php#L35"&gt;src/Type/Square/Dmre/DmreSize.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the DMRE symbol size: the eighteen sizes of ISO/IEC 21471 as&#10;rows by columns, or Auto to choose the smallest one that fits the data.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;: Smallest size that fits the data (default).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x48"&gt;&lt;/a&gt;&lt;code&gt;Size8x48 = '8x48'&lt;/code&gt;: 8 rows by 48 columns, 18 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x64"&gt;&lt;/a&gt;&lt;code&gt;Size8x64 = '8x64'&lt;/code&gt;: 8 rows by 64 columns, 24 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x80"&gt;&lt;/a&gt;&lt;code&gt;Size8x80 = '8x80'&lt;/code&gt;: 8 rows by 80 columns, 32 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x96"&gt;&lt;/a&gt;&lt;code&gt;Size8x96 = '8x96'&lt;/code&gt;: 8 rows by 96 columns, 38 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x120"&gt;&lt;/a&gt;&lt;code&gt;Size8x120 = '8x120'&lt;/code&gt;: 8 rows by 120 columns, 49 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size8x144"&gt;&lt;/a&gt;&lt;code&gt;Size8x144 = '8x144'&lt;/code&gt;: 8 rows by 144 columns, 63 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size12x64"&gt;&lt;/a&gt;&lt;code&gt;Size12x64 = '12x64'&lt;/code&gt;: 12 rows by 64 columns, 43 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size12x88"&gt;&lt;/a&gt;&lt;code&gt;Size12x88 = '12x88'&lt;/code&gt;: 12 rows by 88 columns, 64 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size16x64"&gt;&lt;/a&gt;&lt;code&gt;Size16x64 = '16x64'&lt;/code&gt;: 16 rows by 64 columns, 62 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size20x36"&gt;&lt;/a&gt;&lt;code&gt;Size20x36 = '20x36'&lt;/code&gt;: 20 rows by 36 columns, 44 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size20x44"&gt;&lt;/a&gt;&lt;code&gt;Size20x44 = '20x44'&lt;/code&gt;: 20 rows by 44 columns, 56 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size20x64"&gt;&lt;/a&gt;&lt;code&gt;Size20x64 = '20x64'&lt;/code&gt;: 20 rows by 64 columns, 84 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size22x48"&gt;&lt;/a&gt;&lt;code&gt;Size22x48 = '22x48'&lt;/code&gt;: 22 rows by 48 columns, 72 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size24x48"&gt;&lt;/a&gt;&lt;code&gt;Size24x48 = '24x48'&lt;/code&gt;: 24 rows by 48 columns, 80 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size24x64"&gt;&lt;/a&gt;&lt;code&gt;Size24x64 = '24x64'&lt;/code&gt;: 24 rows by 64 columns, 108 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size26x40"&gt;&lt;/a&gt;&lt;code&gt;Size26x40 = '26x40'&lt;/code&gt;: 26 rows by 40 columns, 70 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size26x48"&gt;&lt;/a&gt;&lt;code&gt;Size26x48 = '26x48'&lt;/code&gt;: 26 rows by 48 columns, 90 data codewords.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Size26x64"&gt;&lt;/a&gt;&lt;code&gt;Size26x64 = '26x64'&lt;/code&gt;: 26 rows by 64 columns, 118 data codewords.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose DMRE size value to the matching enum case.&lt;/p&gt;</description></item><item><title>EanEight</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanEight/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanEight/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class EanEight extends EanOneThree&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanOneThree/"&gt;EanOneThree&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/EanEight.php#L37"&gt;src/Type/Linear/EanEight.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\EanEight;&lt;/p&gt;&#10;&lt;p&gt;EanEight Barcode type class&#10;EAN 8&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>EanOneThree</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanOneThree/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanOneThree/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class EanOneThree extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/EanOneThree.php#L41"&gt;src/Type/Linear/EanOneThree.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\EanOneThree;&lt;/p&gt;&#10;&lt;p&gt;EanOneThree Barcode type class&#10;EAN 13&lt;/p&gt;&#10;&lt;p&gt;An optional 2 or 5 digit add-on symbol is appended to the code after a plus&#10;sign, as in &amp;ldquo;9781234567897+12345&amp;rdquo;. Main symbol and add-on are drawn as a&#10;single symbol, separated by the right quiet zone of the main symbol.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Encode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Encode/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Encode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encode extends Bitstream&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Bitstream/"&gt;Bitstream&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Encode.php#L37"&gt;src/Type/Square/Aztec/Encode.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encode for Aztec Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Aztec main encoder.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $code,&#10; int $ecc = 33,&#10; int $eci = 0,&#10; string $hint = &amp;#39;A&amp;#39;,&#10; string $mode = &amp;#39;A&amp;#39;&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$code&lt;/code&gt; (string): The code to encode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$ecc&lt;/code&gt; (int): The error correction code percentage of error check words.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$eci&lt;/code&gt; (int): The ECI mode to use.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$hint&lt;/code&gt; (string): The mode to use.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (string): The mode to use (A = Automatic; F = Full Range mode).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ErrorCorrection</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-ErrorCorrection/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-ErrorCorrection/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ErrorCorrection&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/ErrorCorrection.php#L36"&gt;src/Type/Square/Datamatrix/ErrorCorrection.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Error correction methods and other utilities for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getErrorCorrection"&gt;getErrorCorrection()&lt;/h3&gt;&#10;&lt;p&gt;Add error correction codewords to data codewords array (ANNEX E).&lt;/p&gt;&#10;&lt;p&gt;The data codewords are split over $nbk interleaved blocks and each block&#10;is followed by its own error correction codewords, interleaved the same way.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getErrorCorrection(&#10; array&amp;lt;int,int&amp;gt; $wdc,&#10; int $nbk,&#10; int $ncw,&#10; int $ncc,&#10; int $ngf = 256,&#10; int $vpp = 301&#10;): array&amp;lt;int,int&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>FixedLengthCheckDigit</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FixedLengthCheckDigit/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FixedLengthCheckDigit/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;trait FixedLengthCheckDigit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/FixedLengthCheckDigit.php#L42"&gt;src/Type/Linear/FixedLengthCheckDigit.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;FixedLengthCheckDigit trait&lt;/p&gt;&#10;&lt;p&gt;Shared by the symbologies of a fixed digit count whose last digit is a check&#10;digit: the input is either the data digits, which get the check digit&#10;appended, or the whole code, which must carry the right one. A shorter input&#10;is left padded with zeros. The types belong to different hierarchies, so the&#10;rule is shared here.&lt;/p&gt;</description></item><item><title>FourState</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FourState/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FourState/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class FourState extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/FourState.php#L42"&gt;src/Type/Linear/FourState.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Shared layer of the four state postal symbologies&lt;/p&gt;&#10;&lt;p&gt;A bar occupies one of three rows: the ascender, the tracker and the&#10;descender. The four states are the full bar, the ascender with the tracker,&#10;the tracker with the descender and the tracker alone. Bars are one module&#10;wide and separated by one module.&lt;/p&gt;&#10;&lt;p&gt;Subclasses name the three states that are not the tracker with the FULL,&#10;ASCENDER and DESCENDER constants; every other bar identifier is a tracker.&lt;/p&gt;</description></item><item><title>HibcPayload</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-HibcPayload/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-HibcPayload/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;trait HibcPayload&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/HibcPayload.php#L39"&gt;src/Type/HibcPayload.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HibcPayload trait&lt;/p&gt;&#10;&lt;p&gt;Wires the HIBC data structure of Hibc to a carrier symbology. The carriers&#10;belong to different type hierarchies, so the wiring is shared here.&lt;/p&gt;</description></item><item><title>IataTwoOfFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-IataTwoOfFive/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-IataTwoOfFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class IataTwoOfFive extends StandardTwoOfFive&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFive/"&gt;StandardTwoOfFive&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/IataTwoOfFive.php#L40"&gt;src/Type/Linear/IataTwoOfFive.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\IataTwoOfFive;&lt;/p&gt;&#10;&lt;p&gt;IataTwoOfFive Barcode type class&#10;2 of 5 IATA (Computer Identics 2 of 5 - Airline 2 of 5)&lt;/p&gt;&#10;&lt;p&gt;Discrete two width symbology with the same digit patterns as Standard 2 of 5,&#10;where only the bars carry data. It differs in the start pattern, a narrow bar&#10;and a narrow bar, and in the stop pattern, a wide bar and a narrow bar.&#10;The check digit is optional and is not added.&lt;/p&gt;</description></item><item><title>JapanPost</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-JapanPost/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-JapanPost/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class JapanPost extends FourState&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-FourState/"&gt;FourState&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/JapanPost.php#L42"&gt;src/Type/Linear/JapanPost.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\JapanPost;&lt;/p&gt;&#10;&lt;p&gt;JapanPost Barcode type class&#10;Japan Post Customer Barcode&lt;/p&gt;&#10;&lt;p&gt;The symbol is the start code, the seven digit postal code, the thirteen&#10;character address display number, the check digit and the stop code. Every&#10;character is three bars of four states. A letter is a control code followed&#10;by a digit, so it takes two of the thirteen positions.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Logmars</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Logmars/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Logmars/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Logmars extends CodeThreeNineCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineCheck/"&gt;CodeThreeNineCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Logmars.php#L44"&gt;src/Type/Linear/Logmars.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Logmars;&lt;/p&gt;&#10;&lt;p&gt;Logmars Barcode type class&#10;LOGMARS (MIL-STD-1189B)&lt;/p&gt;&#10;&lt;p&gt;CODE 39 profile of the US Department of Defense Logistics Applications of&#10;Automated Marking and Reading Symbols. The code is restricted to the 43&#10;character set of CODE 39, lowercase letters are folded to uppercase, and the&#10;modulo 43 check character defined by the standard is always appended.&#10;The standard also constrains density, wide to narrow ratio and bar height,&#10;which are set by the caller through the barcode width and height.&lt;/p&gt;</description></item><item><title>MatrixTwoOfFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MatrixTwoOfFive/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MatrixTwoOfFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class MatrixTwoOfFive extends StandardTwoOfFive&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFive/"&gt;StandardTwoOfFive&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/MatrixTwoOfFive.php#L40"&gt;src/Type/Linear/MatrixTwoOfFive.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\MatrixTwoOfFive;&lt;/p&gt;&#10;&lt;p&gt;MatrixTwoOfFive Barcode type class&#10;2 of 5 Matrix&lt;/p&gt;&#10;&lt;p&gt;Discrete two width symbology that carries data in both the bars and the&#10;spaces. Each digit is three bars and two spaces, two of the five elements&#10;being wide, and each character is followed by a narrow separator space.&#10;The check digit is optional and is not added.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>MicroQrEccLevel</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-MicroQrEccLevel/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-MicroQrEccLevel/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum MicroQrEccLevel: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/MicroQrEccLevel.php#L36"&gt;src/Type/Square/MicroQrCode/MicroQrEccLevel.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Micro QR Code error correction level. The level H of&#10;QR Code is not available; the version M1 carries error detection only and is&#10;selected by the automatic level.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;: Smallest symbol able to carry the data.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L"&gt;&lt;/a&gt;&lt;code&gt;L = 'L'&lt;/code&gt;: Low.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_M"&gt;&lt;/a&gt;&lt;code&gt;M = 'M'&lt;/code&gt;: Medium.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Q"&gt;&lt;/a&gt;&lt;code&gt;Q = 'Q'&lt;/code&gt;: Quartile.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose error correction level value to the matching enum case.&lt;/p&gt;</description></item><item><title>MicroQrEncodingMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-MicroQrEncodingMode/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-MicroQrCode-MicroQrEncodingMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\MicroQrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum MicroQrEncodingMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/MicroQrCode/MicroQrEncodingMode.php#L35"&gt;src/Type/Square/MicroQrCode/MicroQrEncodingMode.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Micro QR Code encodation mode. The Kanji, ECI, FNC1 and&#10;structured append modes are not available.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;: Mode that yields the shortest bit stream.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NM"&gt;&lt;/a&gt;&lt;code&gt;NM = 'NM'&lt;/code&gt;: Numeric.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AN"&gt;&lt;/a&gt;&lt;code&gt;AN = 'AN'&lt;/code&gt;: Alphanumeric.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Byte"&gt;&lt;/a&gt;&lt;code&gt;Byte = '8B'&lt;/code&gt;: 8-bit byte.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose encodation mode value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical token or an enum instance (returned unchanged).&#10;Unknown values fall back to the automatic mode.&lt;/p&gt;</description></item><item><title>PdfFourOneSeven</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PdfFourOneSeven extends Compaction&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Compaction/"&gt;Compaction&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSeven.php#L44"&gt;src/Type/Square/PdfFourOneSeven.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;PdfFourOneSeven Barcode type class&#10;PDF417 (ISO/IEC 15438:2006)&lt;/p&gt;&#10;&lt;p&gt;Continuous multi-row symbology encoding the 128 ASCII characters and the extended ones.&#10;Symbol height: 3 to 90 rows&#10;Symbol width: 90X to 583X&#10;Error correction characters: 2 to 512&#10;Maximum data characters: 1850 text, 2710 digits, 1108 bytes&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getBinSequence"&gt;getBinSequence()&lt;/h3&gt;&#10;&lt;p&gt;Creates a PDF417 object as binary string&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getBinSequence(): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: barcode as binary string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>PdfFourOneSevenCompact</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSevenCompact/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSevenCompact/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PdfFourOneSevenCompact extends PdfFourOneSeven&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/"&gt;PdfFourOneSeven&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSevenCompact.php#L40"&gt;src/Type/Square/PdfFourOneSevenCompact.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;PdfFourOneSevenCompact Barcode type class&#10;Compact PDF417, also known as truncated PDF417 (ISO/IEC 15438:2006)&lt;/p&gt;&#10;&lt;p&gt;PDF417 symbol with the right row indicator column removed and the stop&#10;pattern reduced to a single narrow bar, which saves 34 modules per row.&#10;It is intended for clean printing environments, where the loss of the right&#10;row indicator does not compromise scanning.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-pdffouroneseven"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/"&gt;PdfFourOneSeven&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/#method_getBinSequence"&gt;getBinSequence()&lt;/a&gt;: Creates a PDF417 object as binary string&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven/#method_getCodewords"&gt;getCodewords()&lt;/a&gt;: Get codewords&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Placement</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Placement/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-Placement/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Placement&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Placement.php#L34"&gt;src/Type/Square/Datamatrix/Placement.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Placement methods for Datamatrix Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getPlacementMap"&gt;getPlacementMap()&lt;/h3&gt;&#10;&lt;p&gt;Build a placement map.&lt;/p&gt;&#10;&lt;p&gt;(Annex F - ECC 200 symbol character placement)&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getPlacementMap(int $nrow, int $ncol): array&amp;lt;int,int&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$nrow&lt;/code&gt; (int): Number of rows.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$ncol&lt;/code&gt; (int): Number of columns.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,int&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/Placement.php#L289"&gt;src/Type/Square/Datamatrix/Placement.php:289&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Plessey</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Plessey/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Plessey/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Plessey extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Plessey.php#L45"&gt;src/Type/Linear/Plessey.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Plessey;&lt;/p&gt;&#10;&lt;p&gt;Plessey Barcode type class&#10;Plessey Code&lt;/p&gt;&#10;&lt;p&gt;A pulse width modulated symbology: each hexadecimal character is four bits,&#10;least significant first, and each bit is one pitch of a bar and a space. The&#10;data is bounded by the forward start code, the cyclic redundancy check, the&#10;termination bar and the reverse start code.&lt;/p&gt;&#10;&lt;p&gt;One pitch is twelve modules, the smallest whole number of modules that keeps&#10;all four element widths within the tolerances of the dimension table.&lt;/p&gt;</description></item><item><title>PostCode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Mailmark-PostCode/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Mailmark-PostCode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\Mailmark&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PostCode&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Mailmark/PostCode.php#L40"&gt;src/Type/Linear/Mailmark/PostCode.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Destination Post Code plus DPS field of a 4-state Mailmark barcode&lt;/p&gt;&#10;&lt;p&gt;The field is either the fixed international string or one of six patterns of&#10;character types. Each pattern has its own block of values, and the blocks&#10;follow one another in the order the patterns are listed, starting at one.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_INTERNATIONAL"&gt;INTERNATIONAL&lt;/h3&gt;&#10;&lt;p&gt;Field value that denotes an international destination&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;INTERNATIONAL&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;XY11 &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Mailmark/PostCode.php#L52"&gt;src/Type/Linear/Mailmark/PostCode.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_LENGTH"&gt;LENGTH&lt;/h3&gt;&#10;&lt;p&gt;Number of characters of the field&lt;/p&gt;</description></item><item><title>Pzn</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Pzn/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Pzn/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Pzn extends CodeThreeNine&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNine/"&gt;CodeThreeNine&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Pzn.php#L43"&gt;src/Type/Linear/Pzn.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Pzn;&lt;/p&gt;&#10;&lt;p&gt;Pzn Barcode type class&#10;PZN (Pharmazentralnummer, IFA coding system)&lt;/p&gt;&#10;&lt;p&gt;CODE 39 symbol encoding the minus sign followed by the eight digits of the&#10;German pharmaceutical product number, of which the last one is a modulo 11&#10;check digit. The minus sign is the data identifier of the PZN and there is no&#10;CODE 39 check character. The human readable interpretation is &amp;ldquo;PZN - &amp;quot; plus&#10;the eight digits; those characters are not part of the symbol.&lt;/p&gt;</description></item><item><title>ReedSolomon</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-ReedSolomon/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-ReedSolomon/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ReedSolomon&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/ReedSolomon.php#L34"&gt;src/Type/ReedSolomon.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Reed-Solomon error correction over GF(2^n)&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_GF_QRCODE"&gt;GF_QRCODE&lt;/h3&gt;&#10;&lt;p&gt;Primitive polynomial of the GF(256) of QR Code and Micro QR Code:&#10;x^8 + x^4 + x^3 + x^2 + 1. The word size 8 entry of GF is the Aztec one,&#10;over a different polynomial, so this field is named on its own.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;GF_QRCODE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;285&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/ReedSolomon.php#L57"&gt;src/Type/ReedSolomon.php:57&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize the Reed-Solomon Error Correction.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int $wsize, int $primitive = 0, int $firstroot = 1)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Rune</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Rune/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Rune/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Rune&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Rune.php#L37"&gt;src/Type/Square/Aztec/Rune.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encode for the Aztec Rune Barcode type class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Aztec Rune encoder.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int $value)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$value&lt;/code&gt; (int): The value to encode, from 0 to 255.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Rune.php#L84"&gt;src/Type/Square/Aztec/Rune.php:84&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getGrid"&gt;getGrid()&lt;/h3&gt;&#10;&lt;p&gt;Returns the bidimensional grid containing the encoded symbol.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getGrid(): array&amp;lt;int,int[]&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,int[]&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Rune.php#L99"&gt;src/Type/Square/Aztec/Rune.php:99&lt;/a&gt;&lt;/p&gt;</description></item><item><title>StandardTwoOfFiveCheck</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFiveCheck/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFiveCheck/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StandardTwoOfFiveCheck extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/StandardTwoOfFiveCheck.php#L37"&gt;src/Type/Linear/StandardTwoOfFiveCheck.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFiveCheck;&lt;/p&gt;&#10;&lt;p&gt;StandardTwoOfFiveCheck Barcode type class&#10;Standard 2 of 5 + CHECKSUM&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>UpcA</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-UpcA/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-UpcA/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class UpcA extends EanOneThree&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanOneThree/"&gt;EanOneThree&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/UpcA.php#L37"&gt;src/Type/Linear/UpcA.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\UpcA;&lt;/p&gt;&#10;&lt;p&gt;UpcA Barcode type class&#10;UPC-A&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>UpcE</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-UpcE/</link><pubDate>Tue, 01 Sep 2026 21:57:12 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-UpcE/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class UpcE extends UpcA&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-UpcA/"&gt;UpcA&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/UpcE.php#L40"&gt;src/Type/Linear/UpcE.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\UpcE;&lt;/p&gt;&#10;&lt;p&gt;UpcE Barcode type class&#10;UPC-E&lt;/p&gt;&#10;&lt;p&gt;Variation of UPC-A that compresses the zeros of the manufacturer and product fields&#10;into six digits. It is defined for the number systems 0 and 1 only.&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Appearance</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-Appearance/</link><pubDate>Mon, 31 Aug 2026 16:36:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-Appearance/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Signature&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Appearance&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/Appearance.php#L38"&gt;src/Signature/Appearance.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Fluent sub-facade for the signature widget appearance, reached through&#10;Tcpdf::signature()-&amp;gt;appearance(). It forwards to the existing appearance&#10;methods on Tcpdf while returning $this for chaining.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(Tcpdf $pdf)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$pdf&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/"&gt;Tcpdf&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/Appearance.php#L40"&gt;src/Signature/Appearance.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_description"&gt;description()&lt;/h3&gt;&#10;&lt;p&gt;Set the description of the signature field, used as the /TU and /Contents&#10;entries of the widget annotation in a tagged mode.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public description(string $description): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$description&lt;/code&gt; (string): Human readable description of the signature field.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; self&lt;/p&gt;</description></item><item><title>Facade</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-Facade/</link><pubDate>Mon, 31 Aug 2026 16:36:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-Facade/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Signature&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Facade&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/Facade.php#L43"&gt;src/Signature/Facade.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Fluent entry point for the signature subsystem, returned by Tcpdf::signature().&#10;It groups the signature methods (configuration, timestamp, user rights,&#10;appearance, empty fields, external signing and the widget object id) behind&#10;one object, forwarding to the underlying Tcpdf methods.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(Tcpdf $pdf)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$pdf&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/"&gt;Tcpdf&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/Facade.php#L45"&gt;src/Signature/Facade.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_appearance"&gt;appearance()&lt;/h3&gt;&#10;&lt;p&gt;Access the visible-appearance sub-facade.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public appearance(): Appearance&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-Appearance/"&gt;Appearance&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/Facade.php#L99"&gt;src/Signature/Facade.php:99&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_configure"&gt;configure()&lt;/h3&gt;&#10;&lt;p&gt;Configure the signature (certificate, key, profile, digest, LTV, info).&lt;/p&gt;</description></item><item><title>HybridConformance</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HybridConformance/</link><pubDate>Mon, 31 Aug 2026 16:36:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HybridConformance/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum HybridConformance: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/HybridConformance.php#L41"&gt;src/HybridConformance.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the conformance level of the XML payload of a hybrid&#10;electronic document, written as the ConformanceLevel XMP property by&#10;MetaInfo::setFacturX(). The backing value is the literal property value.&lt;/p&gt;&#10;&lt;p&gt;Not every level is defined by every profile: MINIMUM, BASIC WL and XRECHNUNG&#10;belong to Factur-X and ZUGFeRD 2, while COMFORT belongs to ZUGFeRD 1.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Minimum"&gt;&lt;/a&gt;&lt;code&gt;Minimum = 'MINIMUM'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_BasicWl"&gt;&lt;/a&gt;&lt;code&gt;BasicWl = 'BASIC WL'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Basic"&gt;&lt;/a&gt;&lt;code&gt;Basic = 'BASIC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Comfort"&gt;&lt;/a&gt;&lt;code&gt;Comfort = 'COMFORT'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_En16931"&gt;&lt;/a&gt;&lt;code&gt;En16931 = 'EN 16931'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Extended"&gt;&lt;/a&gt;&lt;code&gt;Extended = 'EXTENDED'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_XRechnung"&gt;&lt;/a&gt;&lt;code&gt;XRechnung = 'XRECHNUNG'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose conformance level to the matching enum case.&lt;/p&gt;</description></item><item><title>HybridProfile</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HybridProfile/</link><pubDate>Mon, 31 Aug 2026 16:36:48 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-HybridProfile/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum HybridProfile: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/HybridProfile.php#L41"&gt;src/HybridProfile.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the standard followed by a hybrid electronic document: a&#10;PDF/A-3 file carrying a structured XML payload as an embedded file, as&#10;produced by MetaInfo::setFacturX().&lt;/p&gt;&#10;&lt;p&gt;Each case supplies the payload file name, the XMP namespace URI, prefix,&#10;extension schema name, version and document type required by that standard.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FacturX"&gt;&lt;/a&gt;&lt;code&gt;FacturX = 'facturx'&lt;/code&gt;: Factur-X 1.0.x, equivalent to ZUGFeRD 2.1 and later.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ZugferdV1"&gt;&lt;/a&gt;&lt;code&gt;ZugferdV1 = 'zugferdv1'&lt;/code&gt;: ZUGFeRD 1.0.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ZugferdV2"&gt;&lt;/a&gt;&lt;code&gt;ZugferdV2 = 'zugferdv2'&lt;/code&gt;: ZUGFeRD 2.0.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_OrderX"&gt;&lt;/a&gt;&lt;code&gt;OrderX = 'orderx'&lt;/code&gt;: Order-X 1.0.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_description"&gt;description()&lt;/h3&gt;&#10;&lt;p&gt;Default description of the embedded file.&lt;/p&gt;</description></item><item><title>Output</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Output/</link><pubDate>Mon, 31 Aug 2026 15:18:55 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Output/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Output&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Output.php#L49"&gt;src/Output.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TFileOptions"&gt;TFileOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; allowedHosts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; maxRemoteSize&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; curlopts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; defaultCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fixedCurlOpts&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, bool&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize images data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; float $kunit,&#10; Encrypt $encrypt,&#10; File $fileHelper,&#10; bool $pdfa = false,&#10; bool $compress = true,&#10; ?ImageCacheInterface $imageCache = null,&#10; bool $notransparency = false&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$kunit&lt;/code&gt; (float): Unit of measure conversion ratio.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encrypt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Encrypt/"&gt;Encrypt&lt;/a&gt;): Encrypt object.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): File helper for image loading and writing.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pdfa&lt;/code&gt; (bool): True if we are in PDF/A mode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$compress&lt;/code&gt; (bool): Set to false to disable stream compression.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$imageCache&lt;/code&gt; (?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-ImageCacheInterface/"&gt;ImageCacheInterface&lt;/a&gt;): External cache used to persist processed image data&#10;across instances and processes (null = disabled).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$notransparency&lt;/code&gt; (bool): True to suppress the soft mask of an alpha image.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Output.php#L102"&gt;src/Output.php:102&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Gradient</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Gradient/</link><pubDate>Mon, 31 Aug 2026 13:17:22 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Gradient/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Gradient extends Raw&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Raw/"&gt;Raw&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Gradient.php#L41"&gt;src/Gradient.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getAlpha"&gt;getAlpha()&lt;/h3&gt;&#10;&lt;p&gt;Set alpha for stroking (CA) and non-stroking (ca) operations.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getAlpha(&#10; float $stroking = 1,&#10; string|BlendMode $bmv = &amp;#39;Normal&amp;#39;,&#10; float|string $nonstroking = &amp;#39;&amp;#39;,&#10; bool $ais = false&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$stroking&lt;/code&gt; (float): Alpha value for stroking operations:&#10;real value from 0 (transparent) to 1 (opaque).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$bmv&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-BlendMode/"&gt;BlendMode&lt;/a&gt;): Blend mode, one of the following: Normal, Multiply,&#10;Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn,&#10;HardLight, SoftLight, Difference, Exclusion, Hue,&#10;Saturation, Color, Luminosity.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$nonstroking&lt;/code&gt; (float|string): Alpha value for non-stroking operations:&#10;real value from 0 (transparent) to 1 (opaque).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$ais&lt;/code&gt; (bool): Alpha-Is-Shape flag set on the /AIS ExtGState key.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: PDF command&lt;/p&gt;</description></item><item><title>Box</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Box/</link><pubDate>Mon, 31 Aug 2026 13:16:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Box/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Box extends Mode&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Mode/"&gt;Mode&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Box.php#L227"&gt;src/Box.php:227&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_PageBci"&gt;PageBci&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dash&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageBox"&gt;PageBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bci&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; PageBci,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageBciInput"&gt;PageBciInput&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;style&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dash&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;float&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageBoxInput"&gt;PageBoxInput&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bci&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; PageBciInput,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageDataBox"&gt;PageDataBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;llx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lly&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;urx&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ury&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;bci&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageBci,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_MarginData"&gt;MarginData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageMarginData"&gt;PageMarginData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;booklet&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_RegionData"&gt;RegionData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RL&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RR&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_NoWriteArea"&gt;NoWriteArea&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;side&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yt&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;xb&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;yb&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;h&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TransitionInput"&gt;TransitionInput&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Di&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Dm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Dur&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;M&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TransitionData"&gt;TransitionData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Di&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Dm&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Dur&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;M&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;SS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageData"&gt;PageData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;annotrefs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int,int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;autobreak&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;box&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, PageDataBox&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;columns&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content_mark&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContentHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContentWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FooterHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HeaderHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;currentRegion&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;group&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; PageMarginData,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;num&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pagenum&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;region&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, RegionData&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transition&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TransitionData,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zoom&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_PageInputData"&gt;PageInputData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;annotrefs&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int,int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;autobreak&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;box&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string, PageBoxInput&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;columns&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;|&lt;/span&gt;string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;content_mark&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContentHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ContentWidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FooterHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HeaderHeight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;currentRegion&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;format&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;group&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;height&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;margin&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;booklet&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;FT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;HB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PL&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PR&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;PT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;num&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;orientation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pagenum&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pheight&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pwidth&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;region&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RB&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RH&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RL&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RR&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RT&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RW&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RX&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;RY&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;y&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;rotation&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;time&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;transition&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; TransitionInput,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;width&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;zoom&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; float,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BOX"&gt;BOX&lt;/h3&gt;&#10;&lt;p&gt;Page box names.&lt;/p&gt;</description></item><item><title>Region</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Region/</link><pubDate>Thu, 27 Aug 2026 22:22:14 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Region/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Region extends Settings&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Settings/"&gt;Settings&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Region.php#L42"&gt;src/Region.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_BANDS"&gt;MAX_BANDS&lt;/h3&gt;&#10;&lt;p&gt;Maximum number of horizontal slices buildWritableRegions() may cut the content area into.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_BANDS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Region.php#L47"&gt;src/Region.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_add"&gt;add()&lt;/h3&gt;&#10;&lt;p&gt;Add a new page.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public add(PageInputData $data = []): PageData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;$data&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Box/#type_PageInputData"&gt;PageInputData&lt;/a&gt;): Page data:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;annotrefs : array containing the annotation object references.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;autobreak : true to automatically add a page when the content reaches the breaking point.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;box : array containing page box boundaries and settings (@see setBox).&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;columns : number of equal vertical columns, if set it will automatically populate the region array.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;content : string containing the raw page content.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;format : page format name, or alternatively you can set width and height as below.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;group : page group number.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;height : page height.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;margin : page margins:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - booklet : true to enable booklet mode&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - PL : page left margin measured from the left page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - PR : page right margin measured from the right page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - PT : page top or header top measured distance from the top page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - HB : header bottom measured from the top page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - CT : content top measured from the top page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - CB : content bottom (page breaking point) measured from the bottom page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - FT : footer top measured from the bottom page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - PB : page bottom (footer bottom) measured from the bottom page edge&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;num : if set overwrites the page number.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orientation : page orientation (&amp;#39;P&amp;#39; or &amp;#39;L&amp;#39;).&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;region : array containing the ordered list of rectangular areas where it is allowed to write,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; each region is defined by:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - RX : horizontal coordinate of top-left corner&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - RY : vertical coordinate of top-left corner&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - RW : region width&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - RH : region height&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rotation : the number of degrees by which the page shall be rotated clockwise when displayed or printed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;time : UTC page modification time in seconds.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;transition : array containing page transition data (@see getPageTransition).&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;width : page width.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zoom : preferred zoom (magnification) factor: 1.0 = 100%.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;NOTE: if $data is empty and the stack is not, the last page is cloned.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Core</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Core implements ProcessorInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-ProcessorInterface/"&gt;ProcessorInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/Core.php#L39"&gt;src/Import/Core.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $font, TFontData $fdt, File $fileHelper)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$font&lt;/code&gt; (string): Content of the input font file&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fdt&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;): Extracted font metrics&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): File helper for font loading.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Exception/"&gt;Exception&lt;/a&gt;: in case of error&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/Core.php#L426"&gt;src/Import/Core.php:426&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getFontMetrics"&gt;getFontMetrics()&lt;/h3&gt;&#10;&lt;p&gt;Get all the extracted font metrics&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getFontMetrics(): TFontData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/Core.php#L440"&gt;src/Import/Core.php:440&lt;/a&gt;&lt;/p&gt;</description></item><item><title>FileWriter</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FileWriter/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FileWriter/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class FileWriter&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FileWriter.php#L37"&gt;src/FileWriter.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Writes the artifacts produced by the font import.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_write"&gt;write()&lt;/h3&gt;&#10;&lt;p&gt;Write a font artifact, raising an exception when it cannot be stored in full.&lt;/p&gt;&#10;&lt;p&gt;The number of bytes written is compared with the size of the data, and the diagnostic&#10;fwrite() emits on failure is captured and carried by the exception message.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static write(File $fileHelper, string $file, string $data): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$fileHelper&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/"&gt;File&lt;/a&gt;): File helper used to open the file.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$file&lt;/code&gt; (string): Full path of the file to write.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to store.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Font</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Font/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Font/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Font extends Load&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/"&gt;Load&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Font.php#L37"&gt;src/Font.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Load an imported font&lt;/p&gt;&#10;&lt;p&gt;The definition file (and the font file itself when embedding) must be present either in the current directory&#10;or in the one indicated by K_PATH_FONTS if the constant is defined.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $font,&#10; string $style = &amp;#39;&amp;#39;,&#10; string $ifile = &amp;#39;&amp;#39;,&#10; bool $subset = false,&#10; bool $unicode = true,&#10; bool $pdfa = false,&#10; bool $compress = true,&#10; File|null $fileHelper = null&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ProcessorInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-ProcessorInterface/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-ProcessorInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ProcessorInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/ProcessorInterface.php#L39"&gt;src/Import/ProcessorInterface.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;What Import expects of the class it hands a font program to.&lt;/p&gt;&#10;&lt;p&gt;The processors take different constructor arguments, so only the call Import makes on the&#10;one the font type selects is named here.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getFontMetrics"&gt;getFontMetrics()&lt;/h3&gt;&#10;&lt;p&gt;Returns the font metrics extracted from the program.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getFontMetrics(): TFontData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Load/#type_TFontData"&gt;TFontData&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/ProcessorInterface.php#L46"&gt;src/Import/ProcessorInterface.php:46&lt;/a&gt;&lt;/p&gt;</description></item><item><title>TypeOne</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-TypeOne/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-TypeOne/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class TypeOne extends Core&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/"&gt;Core&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Import/TypeOne.php#L40"&gt;src/Import/TypeOne.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-core"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/"&gt;Core&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/#method___construct"&gt;__construct()&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Import-Core/#method_getFontMetrics"&gt;getFontMetrics()&lt;/a&gt;: Get all the extracted font metrics&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>UniToCid</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-UniToCid/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-UniToCid/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class UniToCid&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/UniToCid.php#L34"&gt;src/UniToCid.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_TYPE"&gt;TYPE&lt;/h3&gt;&#10;&lt;p&gt;UniToCid map&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;TYPE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Japanese&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/UniToCid.php#L41"&gt;src/UniToCid.php:41&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Zlib</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Zlib/</link><pubDate>Thu, 27 Aug 2026 19:26:07 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Zlib/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Zlib&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Zlib.php#L36"&gt;src/Zlib.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Compression and decompression of the stored font artifacts.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_compress"&gt;compress()&lt;/h3&gt;&#10;&lt;p&gt;Compress data as a zlib stream.&lt;/p&gt;&#10;&lt;p&gt;Any warning gzcompress() may emit is silenced, as in uncompress().&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static compress(string $data, string $message, int $level = -1): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to compress.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$message&lt;/code&gt; (string): Message of the exception raised when the data cannot be compressed.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$level&lt;/code&gt; (int): Compression level (-1 for the zlib default, 0 to 9).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: The compressed data.&lt;/p&gt;</description></item><item><title>BlendMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-BlendMode/</link><pubDate>Thu, 27 Aug 2026 19:25:08 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-BlendMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum BlendMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/BlendMode.php#L35"&gt;src/BlendMode.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum of the PDF blend modes (PDF 32000-1:2008 - 11.3.5).&#10;The backing value of each case is the /BM name.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Normal"&gt;&lt;/a&gt;&lt;code&gt;Normal = 'Normal'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Multiply"&gt;&lt;/a&gt;&lt;code&gt;Multiply = 'Multiply'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Screen"&gt;&lt;/a&gt;&lt;code&gt;Screen = 'Screen'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Overlay"&gt;&lt;/a&gt;&lt;code&gt;Overlay = 'Overlay'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Darken"&gt;&lt;/a&gt;&lt;code&gt;Darken = 'Darken'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Lighten"&gt;&lt;/a&gt;&lt;code&gt;Lighten = 'Lighten'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ColorDodge"&gt;&lt;/a&gt;&lt;code&gt;ColorDodge = 'ColorDodge'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ColorBurn"&gt;&lt;/a&gt;&lt;code&gt;ColorBurn = 'ColorBurn'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_HardLight"&gt;&lt;/a&gt;&lt;code&gt;HardLight = 'HardLight'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_SoftLight"&gt;&lt;/a&gt;&lt;code&gt;SoftLight = 'SoftLight'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Difference"&gt;&lt;/a&gt;&lt;code&gt;Difference = 'Difference'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Exclusion"&gt;&lt;/a&gt;&lt;code&gt;Exclusion = 'Exclusion'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Hue"&gt;&lt;/a&gt;&lt;code&gt;Hue = 'Hue'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Saturation"&gt;&lt;/a&gt;&lt;code&gt;Saturation = 'Saturation'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Color"&gt;&lt;/a&gt;&lt;code&gt;Color = 'Color'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Luminosity"&gt;&lt;/a&gt;&lt;code&gt;Luminosity = 'Luminosity'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Returns the enum case matching the given blend mode.&lt;/p&gt;</description></item><item><title>PathPaintOp</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-PathPaintOp/</link><pubDate>Thu, 27 Aug 2026 19:25:08 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-PathPaintOp/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum PathPaintOp: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/PathPaintOp.php#L36"&gt;src/PathPaintOp.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum of the PDF path-painting operators (PDF 32000-1:2008 - 8.5.3).&#10;The backing value of each case is the canonical operator produced by&#10;Style::getPathPaintOp().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Stroke"&gt;&lt;/a&gt;&lt;code&gt;Stroke = 'S'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CloseStroke"&gt;&lt;/a&gt;&lt;code&gt;CloseStroke = 's'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Fill"&gt;&lt;/a&gt;&lt;code&gt;Fill = 'f'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CloseFill"&gt;&lt;/a&gt;&lt;code&gt;CloseFill = 'h f'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FillEvenOdd"&gt;&lt;/a&gt;&lt;code&gt;FillEvenOdd = 'f*'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CloseFillEvenOdd"&gt;&lt;/a&gt;&lt;code&gt;CloseFillEvenOdd = 'h f*'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FillStroke"&gt;&lt;/a&gt;&lt;code&gt;FillStroke = 'B'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FillStrokeEvenOdd"&gt;&lt;/a&gt;&lt;code&gt;FillStrokeEvenOdd = 'B*'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CloseFillStroke"&gt;&lt;/a&gt;&lt;code&gt;CloseFillStroke = 'b'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CloseFillStrokeEvenOdd"&gt;&lt;/a&gt;&lt;code&gt;CloseFillStrokeEvenOdd = 'b*'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Clip"&gt;&lt;/a&gt;&lt;code&gt;Clip = 'W n'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ClipEvenOdd"&gt;&lt;/a&gt;&lt;code&gt;ClipEvenOdd = 'W* n'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Close"&gt;&lt;/a&gt;&lt;code&gt;Close = 'h'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NoOp"&gt;&lt;/a&gt;&lt;code&gt;NoOp = 'n'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Returns the canonical operator case matching the given path paint mode.&lt;/p&gt;</description></item><item><title>Raw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Raw/</link><pubDate>Thu, 27 Aug 2026 19:25:08 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Raw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Raw extends Transform&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Transform/"&gt;Transform&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Raw.php#L32"&gt;src/Raw.php:32&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getRawCurve"&gt;getRawCurve()&lt;/h3&gt;&#10;&lt;p&gt;Append a cubic Bezier curve to the current path.&lt;/p&gt;&#10;&lt;p&gt;The curve shall extend from the current point to the point (posx3, posy3),&#10;using (posx1, posy1) and (posx2, posy2) as the Bezier control points.&#10;The new current point shall be (posx3, posy3).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getRawCurve(&#10; float $posx1,&#10; float $posy1,&#10; float $posx2,&#10; float $posy2,&#10; float $posx3,&#10; float $posy3&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$posx1&lt;/code&gt; (float): Abscissa of control point 1.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posy1&lt;/code&gt; (float): Ordinate of control point 1.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posx2&lt;/code&gt; (float): Abscissa of control point 2.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posy2&lt;/code&gt; (float): Ordinate of control point 2.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posx3&lt;/code&gt; (float): Abscissa of end point.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$posy3&lt;/code&gt; (float): Ordinate of end point.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: PDF command&lt;/p&gt;</description></item><item><title>Transform</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Transform/</link><pubDate>Thu, 27 Aug 2026 19:25:08 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Transform/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Transform extends Style&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Style/"&gt;Style&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Transform.php#L36"&gt;src/Transform.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_degToRad"&gt;degToRad()&lt;/h3&gt;&#10;&lt;p&gt;Converts the number in degrees to the radian equivalent.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public degToRad(float $deg): float&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$deg&lt;/code&gt; (float): Angular value in degrees.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; float: Angle in radians&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Transform.php#L393"&gt;src/Transform.php:393&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getCtmProduct"&gt;getCtmProduct()&lt;/h3&gt;&#10;&lt;p&gt;Get the product of two Transformation Matrix.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getCtmProduct(TTMatrix $tma, TTMatrix $tmb): TTMatrix&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$tma&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_TTMatrix"&gt;TTMatrix&lt;/a&gt;): First Transformation Matrix.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$tmb&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_TTMatrix"&gt;TTMatrix&lt;/a&gt;): Second Transformation Matrix.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Base/#type_TTMatrix"&gt;TTMatrix&lt;/a&gt;: CTM Transformation Matrix.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Transform.php#L374"&gt;src/Transform.php:374&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getHorizMirroring"&gt;getHorizMirroring()&lt;/h3&gt;&#10;&lt;p&gt;Horizontal Mirroring.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getHorizMirroring(float $posx): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ImageCacheInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-ImageCacheInterface/</link><pubDate>Thu, 27 Aug 2026 19:22:55 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-ImageCacheInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ImageCacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/ImageCacheInterface.php#L52"&gt;src/ImageCacheInterface.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;External cache used to persist processed image data across Import instances&#10;and PHP processes.&lt;/p&gt;&#10;&lt;p&gt;Implementations bridge to any backend (filesystem, APCu, Redis, a PSR-16&#10;cache, &amp;hellip;). They store and retrieve plain arrays; (de)serialization and&#10;eviction are the backend&amp;rsquo;s responsibility.&lt;/p&gt;&#10;&lt;p&gt;The cached value is the import-time snapshot of an image and never contains&#10;PDF object numbers, which are assigned per document at output time. Both&#10;methods MUST be best-effort and MUST NOT throw on a miss or on a backend&#10;failure.&lt;/p&gt;</description></item><item><title>Jpeg</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Jpeg/</link><pubDate>Thu, 27 Aug 2026 19:22:55 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Jpeg/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Jpeg implements ImageImportInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-ImageImportInterface/"&gt;ImageImportInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/Jpeg.php#L34"&gt;src/Import/Jpeg.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getData"&gt;getData()&lt;/h3&gt;&#10;&lt;p&gt;Extract data from a JPEG image.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getData(ImageBaseData $data): ImageBaseData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;): Image raw data.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;: Image raw data array.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/Jpeg.php#L69"&gt;src/Import/Jpeg.php:69&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Png</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Png/</link><pubDate>Thu, 27 Aug 2026 19:22:55 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-Png/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Png implements ImageImportInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-ImageImportInterface/"&gt;ImageImportInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/Png.php#L37"&gt;src/Import/Png.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getData"&gt;getData()&lt;/h3&gt;&#10;&lt;p&gt;Extract data from a PNG image.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getData(ImageBaseData $data): ImageBaseData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;): Image raw data.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;: Image raw data array.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Exception/"&gt;Exception&lt;/a&gt;: If the image is invalid.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;RangeException&lt;/code&gt;: If the byte offset is out of range.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/Png.php#L88"&gt;src/Import/Png.php:88&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Format</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Format/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Format/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Format&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Format.php#L34"&gt;src/Format.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_FORMAT"&gt;FORMAT&lt;/h3&gt;&#10;&lt;p&gt;Array of page formats (width, height).&lt;/p&gt;&#10;&lt;p&gt;Measures are calculated in this way: (inches * 72) or (millimeters * 72 / 25.4)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FORMAT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// ISO 216 A Series + 2 SIS 014711 extensions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A0&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;2383.937&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;3370.394&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// = ( 841 x 1189 ) mm = ( 33.11 x 46.81 ) in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A1&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1683.78&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;2383.937&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// = ( 594 x 841 ) mm = ( 23.39 x 33.11 ) in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A2&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;1190.551&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1683.78&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// = ( 420 x 594 ) mm = ( 16.54 x 23.39 ) in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;A3&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;841.89&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;1190.551&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// = ( 297 x 420 ) mm = ( 11.69 x 16.54 ) in&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Format.php#L61"&gt;src/Format.php:61&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Mode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Mode/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Mode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Mode extends Format&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Format/"&gt;Format&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Mode.php#L32"&gt;src/Mode.php:32&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getDisplay"&gt;getDisplay()&lt;/h3&gt;&#10;&lt;p&gt;Get the canonical page display mode.&lt;/p&gt;&#10;&lt;p&gt;Accepted names and the fallback are defined by PageDisplayMode::fromLoose().&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getDisplay(string|PageDisplayMode $mode = &amp;#39;&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageDisplayMode/"&gt;PageDisplayMode&lt;/a&gt;): Display mode name or PageDisplayMode enum case.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Canonical page display mode.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Mode.php#L55"&gt;src/Mode.php:55&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getLayout"&gt;getLayout()&lt;/h3&gt;&#10;&lt;p&gt;Get the canonical page layout name.&lt;/p&gt;&#10;&lt;p&gt;Accepted names, aliases and the fallback are defined by PageLayout::fromLoose().&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getLayout(string|PageLayout $name = &amp;#39;&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Orientation</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Orientation/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Orientation/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum Orientation: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Orientation.php#L35"&gt;src/Orientation.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the requested page orientation: &amp;lsquo;P&amp;rsquo; (portrait), &amp;lsquo;L&amp;rsquo;&#10;(landscape) or &amp;rsquo;&amp;rsquo; (auto-detect from the page dimensions).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Portrait"&gt;&lt;/a&gt;&lt;code&gt;Portrait = 'P'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Landscape"&gt;&lt;/a&gt;&lt;code&gt;Landscape = 'L'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose orientation value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts an enum instance (returned unchanged) or a string. As in&#10;getPageOrientedSize(), only the exact values &amp;lsquo;P&amp;rsquo; and &amp;lsquo;L&amp;rsquo; select an&#10;orientation; anything else means auto (never throws).&lt;/p&gt;</description></item><item><title>PageDisplayMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageDisplayMode/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageDisplayMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum PageDisplayMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/PageDisplayMode.php#L35"&gt;src/PageDisplayMode.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the PDF /PageMode name. The backing value of each case is the&#10;canonical name produced by Mode::getDisplay().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UseNone"&gt;&lt;/a&gt;&lt;code&gt;UseNone = 'UseNone'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UseOutlines"&gt;&lt;/a&gt;&lt;code&gt;UseOutlines = 'UseOutlines'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UseThumbs"&gt;&lt;/a&gt;&lt;code&gt;UseThumbs = 'UseThumbs'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FullScreen"&gt;&lt;/a&gt;&lt;code&gt;FullScreen = 'FullScreen'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UseOC"&gt;&lt;/a&gt;&lt;code&gt;UseOC = 'UseOC'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_UseAttachments"&gt;&lt;/a&gt;&lt;code&gt;UseAttachments = 'UseAttachments'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose display mode value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical name (case-insensitively) or an enum instance&#10;(returned unchanged). Unknown values and the empty string fall back to&#10;UseNone, the PDF default for /PageMode.&lt;/p&gt;</description></item><item><title>PageLayout</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageLayout/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageLayout/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum PageLayout: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/PageLayout.php#L35"&gt;src/PageLayout.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the PDF /PageLayout name. The backing value of each case is&#10;the canonical name produced by Mode::getLayout().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_SinglePage"&gt;&lt;/a&gt;&lt;code&gt;SinglePage = 'SinglePage'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_OneColumn"&gt;&lt;/a&gt;&lt;code&gt;OneColumn = 'OneColumn'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TwoColumnLeft"&gt;&lt;/a&gt;&lt;code&gt;TwoColumnLeft = 'TwoColumnLeft'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TwoColumnRight"&gt;&lt;/a&gt;&lt;code&gt;TwoColumnRight = 'TwoColumnRight'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TwoPageLeft"&gt;&lt;/a&gt;&lt;code&gt;TwoPageLeft = 'TwoPageLeft'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TwoPageRight"&gt;&lt;/a&gt;&lt;code&gt;TwoPageRight = 'TwoPageRight'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose page layout value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical name, its aliases and the empty-string default,&#10;case-insensitively, or an enum instance (returned unchanged).&#10;Unknown values fall back to SinglePage, matching Mode::getLayout().&lt;/p&gt;</description></item><item><title>TransparencyGroupMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-TransparencyGroupMode/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-TransparencyGroupMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum TransparencyGroupMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/TransparencyGroupMode.php#L36"&gt;src/TransparencyGroupMode.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the per-page transparency /Group emission policy: &amp;lsquo;auto&amp;rsquo;&#10;(every standard page except those explicitly flagged as opaque), &amp;lsquo;always&amp;rsquo; or&#10;&amp;rsquo;never&amp;rsquo;.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = 'auto'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Always"&gt;&lt;/a&gt;&lt;code&gt;Always = 'always'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Never"&gt;&lt;/a&gt;&lt;code&gt;Never = 'never'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose transparency group mode value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical value (case-insensitively) or an enum instance&#10;(returned unchanged). Unknown values fall back to Auto, matching&#10;Page::setPageTransparencyGroupMode().&lt;/p&gt;</description></item><item><title>Unit</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Unit/</link><pubDate>Thu, 27 Aug 2026 17:39:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Unit/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum Unit: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Unit.php#L37"&gt;src/Unit.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the document unit of measure. The backing value of each case&#10;is the canonical unit name used as a key of Format::UNITRATIO.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Point"&gt;&lt;/a&gt;&lt;code&gt;Point = 'pt'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Millimeter"&gt;&lt;/a&gt;&lt;code&gt;Millimeter = 'mm'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Centimeter"&gt;&lt;/a&gt;&lt;code&gt;Centimeter = 'cm'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Inch"&gt;&lt;/a&gt;&lt;code&gt;Inch = 'in'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose unit value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical value, its aliases and the empty-string default,&#10;case-insensitively, or an enum instance (returned unchanged).&#10;Unknown values throw, matching Format::getUnitRatio().&lt;/p&gt;</description></item><item><title>Arabic</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi\Shaping&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Arabic&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/Shaping/Arabic.php#L61"&gt;src/Bidi/Shaping/Arabic.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Joining context of the Arabic shaping: the form of a character is decided by the&#10;Joining_Type of the nearest non-transparent characters around it, as defined by&#10;ArabicShaping.txt and section 9.2 of the Unicode standard.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_CharData"&gt;CharData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;char&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;otype&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pdimatch&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;pos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_SeqData"&gt;SeqData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;e&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;edir&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;end&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;eos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;length&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;maxlevel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;sos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;start&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;item&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;int, CharData&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getJoiningTypes"&gt;getJoiningTypes()&lt;/h3&gt;&#10;&lt;p&gt;Joining_Type of every position of the given paragraph.&lt;/p&gt;</description></item><item><title>Convert</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Convert extends Encoding&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert-Encoding/"&gt;Encoding&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Convert.php#L38"&gt;src/Convert.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Malformed input policy: a string or char array that is not valid UTF-8 raises an&#10;exception, while a code point that cannot be encoded (negative, surrogate or greater&#10;than U+10FFFF) is replaced with &amp;lsquo;?&amp;rsquo;.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_chr"&gt;chr()&lt;/h3&gt;&#10;&lt;p&gt;Returns the unicode string containing the character specified by value&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public chr(int $ord): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$ord&lt;/code&gt; (int): Unicode character value to convert&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Returns the unicode string&lt;/p&gt;</description></item><item><title>Devanagari</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Devanagari/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Devanagari/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Devanagari&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Devanagari.php#L38"&gt;src/Data/Devanagari.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Devanagari codepoint tables for character substitution and cluster&#10;reordering.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_ADD_FIRST"&gt;BASE_CONSONANT_ADD_FIRST&lt;/h3&gt;&#10;&lt;p&gt;First codepoint of the additional Devanagari consonant range.&lt;/p&gt;&#10;&lt;p&gt;U+0978 DEVANAGARI LETTER MARWARI DDA&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BASE_CONSONANT_ADD_FIRST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x978&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Devanagari.php#L107"&gt;src/Data/Devanagari.php:107&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_ADD_LAST"&gt;BASE_CONSONANT_ADD_LAST&lt;/h3&gt;&#10;&lt;p&gt;Last codepoint of the additional Devanagari consonant range.&lt;/p&gt;&#10;&lt;p&gt;U+097F DEVANAGARI LETTER BBA&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BASE_CONSONANT_ADD_LAST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x97f&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Devanagari.php#L114"&gt;src/Data/Devanagari.php:114&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_EXT_FIRST"&gt;BASE_CONSONANT_EXT_FIRST&lt;/h3&gt;&#10;&lt;p&gt;First codepoint of the extended Devanagari consonant range&#10;(consonants with nukta, deprecated precomposed forms).&lt;/p&gt;&#10;&lt;p&gt;U+0958 DEVANAGARI LETTER QA&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BASE_CONSONANT_EXT_FIRST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x958&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Devanagari.php#L93"&gt;src/Data/Devanagari.php:93&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_EXT_LAST"&gt;BASE_CONSONANT_EXT_LAST&lt;/h3&gt;&#10;&lt;p&gt;Last codepoint of the extended Devanagari consonant range.&lt;/p&gt;</description></item><item><title>Devanagari</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Devanagari/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Devanagari/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Substitution&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Devanagari&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution/Devanagari.php#L44"&gt;src/Substitution/Devanagari.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Repositions Devanagari left-positional matras (vowel signs with Indic Positional&#10;Category &amp;ldquo;Left&amp;rdquo;, such as U+093F VOWEL SIGN I) to precede their base consonant&#10;cluster: in Unicode logical order they are stored after the cluster they modify,&#10;while their glyph is displayed before it.&lt;/p&gt;&#10;&lt;p&gt;A consonant cluster is: base_consonant NUKTA? (VIRAMA base_consonant NUKTA?)*&#10;Only base consonants in the ranges U+0915-U+0939, U+0958-U+095F and&#10;U+0978-U+097F are recognized as cluster heads. Orphaned matras (no preceding&#10;consonant) and unknown codepoints are left unchanged.&lt;/p&gt;</description></item><item><title>Encoding</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert-Encoding/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Convert-Encoding/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Convert&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encoding&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Convert/Encoding.php#L36"&gt;src/Convert/Encoding.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Conversions between UTF-8, Latin1, UTF-16BE and hexadecimal byte strings.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_hexToStr"&gt;hexToStr()&lt;/h3&gt;&#10;&lt;p&gt;Convert an hexadecimal string (byte string - as in the PDF standard) to string.&lt;/p&gt;&#10;&lt;p&gt;Pairs of characters that are not hexadecimal digits are converted to a NUL byte.&#10;An odd number of digits is completed with a trailing zero, as the last digit of&#10;the final byte.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public hexToStr(string $hex): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$hex&lt;/code&gt; (string): Hex code to convert&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;</description></item><item><title>Hangul</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Hangul/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Hangul/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Hangul&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Hangul.php#L44"&gt;src/Data/Hangul.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Algorithmic constants for the composition of Hangul Jamo into precomposed Hangul&#10;syllables, as defined in section 3.12 of the Unicode standard.&lt;/p&gt;&#10;&lt;p&gt;Precomposed syllables occupy the range U+AC00-U+D7A3 and are derived by:&lt;/p&gt;&#10;&lt;p&gt;S = SBase + (L - LBase) * NCount + (V - VBase) * TCount + (T - TBase)&lt;/p&gt;&#10;&lt;p&gt;where T = TBase means &amp;ldquo;no trailing consonant&amp;rdquo; (TBase itself is not a&#10;trailing consonant; the effective trailing index is 0 in that case).&lt;/p&gt;</description></item><item><title>Hangul</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Hangul/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Hangul/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Substitution&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Hangul&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution/Hangul.php#L48"&gt;src/Substitution/Hangul.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Composes Hangul Jamo sequences into precomposed syllables, as defined by section&#10;3.12 &amp;ldquo;Conjoining Jamo Behavior&amp;rdquo; of the Unicode standard. Both rules are applied&#10;left to right in a single pass:&lt;/p&gt;&#10;&lt;p&gt;Rule 1, L + V to an LV syllable: a leading consonant (choseong, U+1100 to U+1112)&#10;followed by a vowel (jungseong, U+1161 to U+1175) becomes&#10;S = SBase + (L - LBase) * NCount + (V - VBase) * TCount.&lt;/p&gt;</description></item><item><title>ScriptRanges</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-ScriptRanges/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-ScriptRanges/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class ScriptRanges&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L37"&gt;src/Data/ScriptRanges.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Unicode codepoint ranges used to detect which scripts are present in a&#10;codepoint array. Each entry is [firstCodepoint, lastCodepoint].&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BENGALI"&gt;BENGALI&lt;/h3&gt;&#10;&lt;p&gt;Bengali block: U+0980-U+09FF&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BENGALI&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0x980&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x9ff&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L58"&gt;src/Data/ScriptRanges.php:58&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_DEVANAGARI"&gt;DEVANAGARI&lt;/h3&gt;&#10;&lt;p&gt;Devanagari block: U+0900-U+097F&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DEVANAGARI&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0x900&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x97f&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L51"&gt;src/Data/ScriptRanges.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_JAMO"&gt;HANGUL_JAMO&lt;/h3&gt;&#10;&lt;p&gt;Hangul Jamo block: U+1100-U+11FF&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_JAMO&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0x1100&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x11ff&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L65"&gt;src/Data/ScriptRanges.php:65&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_JAMO_EXT_A"&gt;HANGUL_JAMO_EXT_A&lt;/h3&gt;&#10;&lt;p&gt;Hangul Jamo Extended-A block: U+A960-U+A97F&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_JAMO_EXT_A&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0xa960&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xa97f&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L72"&gt;src/Data/ScriptRanges.php:72&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HANGUL_JAMO_EXT_B"&gt;HANGUL_JAMO_EXT_B&lt;/h3&gt;&#10;&lt;p&gt;Hangul Jamo Extended-B block: U+D7B0-U+D7FF&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HANGUL_JAMO_EXT_B&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0xd7b0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xd7ff&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L79"&gt;src/Data/ScriptRanges.php:79&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_THAI"&gt;THAI&lt;/h3&gt;&#10;&lt;p&gt;Thai block: U+0E00-U+0E7F&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;THAI&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0xe00&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xe7f&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/ScriptRanges.php#L44"&gt;src/Data/ScriptRanges.php:44&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Shaping</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Shaping extends Arabic&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/"&gt;Arabic&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/Shaping.php#L40"&gt;src/Bidi/Shaping.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Arabic shaping: replaces the characters of an isolating run sequence with their&#10;positional presentation forms and ligatures.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Shape an isolating run sequence, after the Bidirectional Algorithm.&lt;/p&gt;&#10;&lt;p&gt;The joining context is read from the paragraph, so two letters separated only by&#10;characters of Joining_Type Transparent join even when those characters put them in&#10;different isolating run sequences: the explicit embedding codes (LRE, RLE, LRO, RLO&#10;and PDF) are Transparent.&lt;/p&gt;</description></item><item><title>StepBase</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class StepBase&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepBase.php#L36"&gt;src/Bidi/StepBase.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Base class of the steps that process one isolating run sequence.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize Sequence to process&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(SeqData $seq, bool $process = true)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$seq&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_SeqData"&gt;SeqData&lt;/a&gt;): Isolated Sequence array&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$process&lt;/code&gt; (bool): If false disable automatic processing (this is a testing flag)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepBase.php#L44"&gt;src/Bidi/StepBase.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getSequence"&gt;getSequence()&lt;/h3&gt;&#10;&lt;p&gt;Returns the processed array&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getSequence(): SeqData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_SeqData"&gt;SeqData&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepBase.php#L61"&gt;src/Bidi/StepBase.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_processStep"&gt;processStep()&lt;/h3&gt;&#10;&lt;p&gt;Generic step&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public processStep(callable|string $processor): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$processor&lt;/code&gt; (callable|string): Processing callback or method name&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepBase.php#L76"&gt;src/Bidi/StepBase.php:76&lt;/a&gt;&lt;/p&gt;</description></item><item><title>StepI</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepI/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepI/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepI extends StepBase&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepI.php#L34"&gt;src/Bidi/StepI.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;I steps of the Bidirectional Algorithm: resolving implicit levels (I1 and I2).&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-stepbase"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize Sequence to process&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_getSequence"&gt;getSequence()&lt;/a&gt;: Returns the processed array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_processStep"&gt;processStep()&lt;/a&gt;: Generic step&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>StepL</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepL/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepL/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepL&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepL.php#L40"&gt;src/Bidi/StepL.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;L steps of the Bidirectional Algorithm: reordering the resolved levels (L1, L2&#10;and L4).&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;L steps&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;int,CharData&amp;gt; $chardata, int $pel, int $maxlevel)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$chardata&lt;/code&gt; (array&amp;lt;int,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_CharData"&gt;CharData&lt;/a&gt;&amp;gt;): Array of characters data&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pel&lt;/code&gt; (int): Paragraph embedding level&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$maxlevel&lt;/code&gt; (int): Maximum level&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepL.php#L61"&gt;src/Bidi/StepL.php:61&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getChrData"&gt;getChrData()&lt;/h3&gt;&#10;&lt;p&gt;Returns the processed array&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getChrData(): array&amp;lt;int,CharData&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_CharData"&gt;CharData&lt;/a&gt;&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepL.php#L86"&gt;src/Bidi/StepL.php:86&lt;/a&gt;&lt;/p&gt;</description></item><item><title>StepN</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepN/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepN/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepN extends StepBase&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepN.php#L38"&gt;src/Bidi/StepN.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;N steps of the Bidirectional Algorithm: resolving neutral and isolate formatting&#10;types (N0 to N2).&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_PAIRING_DEPTH"&gt;MAX_PAIRING_DEPTH&lt;/h3&gt;&#10;&lt;p&gt;Maximum number of entries of the BD16 bracket stack&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_PAIRING_DEPTH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;63&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepN.php#L50"&gt;src/Bidi/StepN.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-stepbase"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize Sequence to process&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_getSequence"&gt;getSequence()&lt;/a&gt;: Returns the processed array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_processStep"&gt;processStep()&lt;/a&gt;: Generic step&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>StepP</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepP/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepP/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepP&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepP.php#L37"&gt;src/Bidi/StepP.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;P steps of the Bidirectional Algorithm: paragraph embedding level (P2 and P3).&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;P Steps for Bidirectional algorithm&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int[] $ordarr)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$ordarr&lt;/code&gt; (int[]): Array of UTF-8 codepoints&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepP.php#L44"&gt;src/Bidi/StepP.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getPel"&gt;getPel()&lt;/h3&gt;&#10;&lt;p&gt;Get the Paragraph Embedding Level&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getPel(): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepP.php#L54"&gt;src/Bidi/StepP.php:54&lt;/a&gt;&lt;/p&gt;</description></item><item><title>StepW</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepW/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepW/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepW extends StepBase&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepW.php#L36"&gt;src/Bidi/StepW.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;W steps of the Bidirectional Algorithm: resolving weak types (W1 to W7).&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-stepbase"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/"&gt;StepBase&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize Sequence to process&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_getSequence"&gt;getSequence()&lt;/a&gt;: Returns the processed array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepBase/#method_processStep"&gt;processStep()&lt;/a&gt;: Generic step&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>StepX</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepX/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepX/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepX&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepX.php#L47"&gt;src/Bidi/StepX.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;X steps of the Bidirectional Algorithm: explicit levels and directions (X1 to X9).&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_DssData"&gt;DssData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ord&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;cel&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dos&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;dis&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_DEPTH"&gt;MAX_DEPTH&lt;/h3&gt;&#10;&lt;p&gt;Maximum embedding level&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAX_DEPTH&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;125&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepX.php#L52"&gt;src/Bidi/StepX.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;X Steps for Bidirectional algorithm&#10;Explicit Levels and Directions&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(int[] $ordarr, int $pel)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$ordarr&lt;/code&gt; (int[]): Array of UTF-8 codepoints&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pel&lt;/code&gt; (int): Paragraph embedding level&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepX.php#L90"&gt;src/Bidi/StepX.php:90&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getChrData"&gt;getChrData()&lt;/h3&gt;&#10;&lt;p&gt;Returns the processed array&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getChrData(): array&amp;lt;int,CharData&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_CharData"&gt;CharData&lt;/a&gt;&amp;gt;&lt;/p&gt;</description></item><item><title>StepXten</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepXten/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-StepXten/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Bidi&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StepXten&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepXten.php#L40"&gt;src/Bidi/StepXten.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Rule X10 of the Bidirectional Algorithm: isolating run sequences and their&#10;start-of-sequence and end-of-sequence types.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;X Steps for Bidirectional algorithm&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;int,CharData&amp;gt; $chardata, int $pel)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$chardata&lt;/code&gt; (array&amp;lt;int,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_CharData"&gt;CharData&lt;/a&gt;&amp;gt;): Array of UTF-8 codepoints&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pel&lt;/code&gt; (int): Paragraph Embedding Level&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepXten.php#L145"&gt;src/Bidi/StepXten.php:145&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getIsolatedLevelRunSequences"&gt;getIsolatedLevelRunSequences()&lt;/h3&gt;&#10;&lt;p&gt;Get the Isolated Run Sequences&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getIsolatedLevelRunSequences(): array&amp;lt;int,SeqData&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Bidi-Shaping-Arabic/#type_SeqData"&gt;SeqData&lt;/a&gt;&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Bidi/StepXten.php#L164"&gt;src/Bidi/StepXten.php:164&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Substitution</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Substitution&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution.php#L43"&gt;src/Substitution.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Context-sensitive Unicode character substitution.&lt;/p&gt;&#10;&lt;p&gt;Detects which scripts are present in the codepoint array in a single pass, then&#10;applies the matching per-script handlers in sequence: Thai, Devanagari, Hangul.&#10;Codepoints of unsupported scripts are passed through unmodified.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_replaceChars"&gt;replaceChars()&lt;/h3&gt;&#10;&lt;p&gt;Applies script-specific character substitutions to the codepoint array.&lt;/p&gt;&#10;&lt;p&gt;Empty input is returned unchanged.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public replaceChars(array&amp;lt;int,int&amp;gt; $ordarr): array&amp;lt;int,int&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$ordarr&lt;/code&gt; (array&amp;lt;int,int&amp;gt;): Array of Unicode codepoints.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,int&amp;gt;: Transformed codepoint array.&lt;/p&gt;</description></item><item><title>TextDirection</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-TextDirection/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-TextDirection/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum TextDirection: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/TextDirection.php#L36"&gt;src/TextDirection.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Forced paragraph direction accepted by Bidi. The backing value is the normalized&#10;direction: &amp;rsquo;&amp;rsquo; (auto detection), &amp;lsquo;R&amp;rsquo; (force right-to-left) or &amp;lsquo;L&amp;rsquo; (force&#10;left-to-right).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Rtl"&gt;&lt;/a&gt;&lt;code&gt;Rtl = 'R'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Ltr"&gt;&lt;/a&gt;&lt;code&gt;Ltr = 'L'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose forced-direction value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts an enum instance, returned unchanged, or a string: the empty string means&#10;auto, otherwise the first character (case-insensitive) selects the direction and&#10;anything that is not R or L falls back to auto (never throws).&lt;/p&gt;</description></item><item><title>Thai</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Thai/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Data-Thai/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Thai&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Thai.php#L36"&gt;src/Data/Thai.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thai codepoint tables for character substitution and reordering.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_FIRST"&gt;BASE_CONSONANT_FIRST&lt;/h3&gt;&#10;&lt;p&gt;Thai base consonant range: U+0E01-U+0E2E&#10;(THAI CHARACTER KO KAI through THAI CHARACTER HO NOKHUK)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BASE_CONSONANT_FIRST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xe01&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Thai.php#L82"&gt;src/Data/Thai.php:82&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_BASE_CONSONANT_LAST"&gt;BASE_CONSONANT_LAST&lt;/h3&gt;&#10;&lt;p&gt;Thai base consonant range upper bound: U+0E2E&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BASE_CONSONANT_LAST&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xe2e&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Data/Thai.php#L87"&gt;src/Data/Thai.php:87&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_LEADING_VOWELS"&gt;LEADING_VOWELS&lt;/h3&gt;&#10;&lt;p&gt;Thai preposed vowels: they are stored before the consonant they follow in&#10;pronunciation and are displayed in that same position, so they need no&#10;reordering in a left-to-right glyph stream.&lt;/p&gt;</description></item><item><title>Thai</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Thai/</link><pubDate>Thu, 27 Aug 2026 15:18:38 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Substitution-Thai/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Substitution&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Thai&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution/Thai.php#L38"&gt;src/Substitution/Thai.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thai codepoints are returned unchanged.&lt;/p&gt;&#10;&lt;p&gt;Thai preposed vowels (sara E, sara AE, sara O, sara AI) are stored before the&#10;consonant they follow in pronunciation and are displayed in that same position, so a&#10;left-to-right glyph stream needs no reordering.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;int,int&amp;gt; $ordarr)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$ordarr&lt;/code&gt; (array&amp;lt;int,int&amp;gt;): Array of Unicode codepoints.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution/Thai.php#L50"&gt;src/Substitution/Thai.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getOrdarr"&gt;getOrdarr()&lt;/h3&gt;&#10;&lt;p&gt;Returns the codepoint array.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getOrdarr(): list&amp;lt;int&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; list&amp;lt;int&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Substitution/Thai.php#L60"&gt;src/Substitution/Thai.php:60&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Bitstream</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Bitstream/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Bitstream/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Bitstream extends Layers&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Layers/"&gt;Layers&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Bitstream.php#L38"&gt;src/Type/Square/Aztec/Bitstream.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Bitstream for Aztec Barcode type class&lt;/p&gt;</description></item><item><title>Codabar</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Codabar/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Codabar/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Codabar extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Codabar.php#L36"&gt;src/Type/Linear/Codabar.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Codabar;&lt;/p&gt;&#10;&lt;p&gt;Codabar Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeOneOne</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneOne/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneOne/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneOne extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneOne.php#L37"&gt;src/Type/Linear/CodeOneOne.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneOne;&lt;/p&gt;&#10;&lt;p&gt;CodeOneOne Barcode type class&#10;CODE 11&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeThreeNine</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNine/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNine/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeThreeNine extends CodeThreeNineExtCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/"&gt;CodeThreeNineExtCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeThreeNine.php#L37"&gt;src/Type/Linear/CodeThreeNine.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CodeThreeNine Barcode type class&#10;CODE 39&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeThreeNineCheck</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineCheck/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineCheck/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeThreeNineCheck extends CodeThreeNineExtCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/"&gt;CodeThreeNineExtCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeThreeNineCheck.php#L37"&gt;src/Type/Linear/CodeThreeNineCheck.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CodeThreeNineCheck Barcode type class&#10;CODE 39 + CHECKSUM&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeThreeNineExt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExt/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExt/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeThreeNineExt extends CodeThreeNineExtCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/"&gt;CodeThreeNineExtCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeThreeNineExt.php#L37"&gt;src/Type/Linear/CodeThreeNineExt.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CodeThreeNineExt Barcode type class&#10;CODE 39 EXTENDED&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeThreeNineExtCheck</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeThreeNineExtCheck extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeThreeNineExtCheck.php#L37"&gt;src/Type/Linear/CodeThreeNineExtCheck.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CodeThreeNineExtCheck Barcode type class&#10;CODE 39 EXTENDED + CHECKSUM&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Codeword</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Codeword/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Codeword/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Codeword&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Codeword.php#L34"&gt;src/Type/Square/Aztec/Codeword.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Codeword utility methods for Aztec Barcode type class&lt;/p&gt;</description></item><item><title>Compaction</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Compaction/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Compaction/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Compaction extends Sequence&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Sequence/"&gt;Sequence&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSeven/Compaction.php#L34"&gt;src/Type/Square/PdfFourOneSeven/Compaction.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Compaction methods for PdfFourOneSeven Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>DatamatrixEncoding</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-DatamatrixEncoding/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-DatamatrixEncoding/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum DatamatrixEncoding: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/DatamatrixEncoding.php#L35"&gt;src/Type/Square/Datamatrix/DatamatrixEncoding.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Data Matrix default encoding scheme. The backing value of&#10;each case is a public key of Data::ENCOPTS.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ASCII"&gt;&lt;/a&gt;&lt;code&gt;ASCII = 'ASCII'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_C40"&gt;&lt;/a&gt;&lt;code&gt;C40 = 'C40'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TXT"&gt;&lt;/a&gt;&lt;code&gt;TXT = 'TXT'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_X12"&gt;&lt;/a&gt;&lt;code&gt;X12 = 'X12'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EDF"&gt;&lt;/a&gt;&lt;code&gt;EDF = 'EDF'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_BASE256"&gt;&lt;/a&gt;&lt;code&gt;BASE256 = 'BASE256'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose Data Matrix encoding value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical scheme name, one of the ALIASES, or an enum instance&#10;(returned unchanged). Unknown values fall back to ASCII, matching the&#10;lenient behavior of Datamatrix.&lt;/p&gt;</description></item><item><title>EanTwo</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanTwo/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanTwo/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class EanTwo extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/EanTwo.php#L37"&gt;src/Type/Linear/EanTwo.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\EanTwo;&lt;/p&gt;&#10;&lt;p&gt;EanTwo Barcode type class&#10;EAN 2-Digits UPC-Based Extension&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Layers</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Layers/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Layers/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Layers extends Codeword&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Codeword/"&gt;Codeword&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Layers.php#L34"&gt;src/Type/Square/Aztec/Layers.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Layers for Aztec Barcode type class&lt;/p&gt;</description></item><item><title>Model</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Model/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Model/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Model.php#L38"&gt;src/Model.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode Model interface&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get the barcode raw array&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array{&amp;#39;type&amp;#39;: string, &amp;#39;format&amp;#39;: string, &amp;#39;params&amp;#39;: (int|float|string)[], &amp;#39;code&amp;#39;: string, &amp;#39;extcode&amp;#39;: string, &amp;#39;ncols&amp;#39;: int, &amp;#39;nrows&amp;#39;: int, &amp;#39;width&amp;#39;: int, &amp;#39;height&amp;#39;: int, &amp;#39;width_ratio&amp;#39;: float, &amp;#39;height_ratio&amp;#39;: float, &amp;#39;padding&amp;#39;: array{&amp;#39;T&amp;#39;: int, &amp;#39;R&amp;#39;: int, &amp;#39;B&amp;#39;: int, &amp;#39;L&amp;#39;: int}, &amp;#39;full_width&amp;#39;: int, &amp;#39;full_height&amp;#39;: int, &amp;#39;color_obj&amp;#39;: Rgb, &amp;#39;bg_color_obj&amp;#39;: ?Rgb, &amp;#39;bars&amp;#39;: array{int, int, int, int}[]}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array{&amp;rsquo;type&amp;rsquo;: string, &amp;lsquo;format&amp;rsquo;: string, &amp;lsquo;params&amp;rsquo;: (int|float|string)[], &amp;lsquo;code&amp;rsquo;: string, &amp;rsquo;extcode&amp;rsquo;: string, &amp;rsquo;ncols&amp;rsquo;: int, &amp;rsquo;nrows&amp;rsquo;: int, &amp;lsquo;width&amp;rsquo;: int, &amp;lsquo;height&amp;rsquo;: int, &amp;lsquo;width_ratio&amp;rsquo;: float, &amp;lsquo;height_ratio&amp;rsquo;: float, &amp;lsquo;padding&amp;rsquo;: array{&amp;lsquo;T&amp;rsquo;: int, &amp;lsquo;R&amp;rsquo;: int, &amp;lsquo;B&amp;rsquo;: int, &amp;lsquo;L&amp;rsquo;: int}, &amp;lsquo;full_width&amp;rsquo;: int, &amp;lsquo;full_height&amp;rsquo;: int, &amp;lsquo;color_obj&amp;rsquo;: &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Rgb/"&gt;Rgb&lt;/a&gt;, &amp;lsquo;bg_color_obj&amp;rsquo;: ?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Rgb/"&gt;Rgb&lt;/a&gt;, &amp;lsquo;bars&amp;rsquo;: array{int, int, int, int}[]}&lt;/p&gt;</description></item><item><title>MsiCheck</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MsiCheck/</link><pubDate>Thu, 27 Aug 2026 15:13:09 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MsiCheck/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class MsiCheck extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/MsiCheck.php#L37"&gt;src/Type/Linear/MsiCheck.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\MsiCheck;&lt;/p&gt;&#10;&lt;p&gt;MsiCheck Barcode type class&#10;MSI + CHECKSUM (modulo 11)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>AsciiEightFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiEightFive/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiEightFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AsciiEightFive implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/AsciiEightFive.php#L37"&gt;src/Type/AsciiEightFive.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ASCII85Decode filter (PDF 32000-1:2008 §7.4.3).&#10;Decodes data written in the ASCII base-85 representation.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/AsciiEightFive.php#L51"&gt;src/Type/AsciiEightFive.php:51&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AsciiHex</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiHex/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-AsciiHex/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AsciiHex implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/AsciiHex.php#L37"&gt;src/Type/AsciiHex.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ASCIIHexDecode filter (PDF 32000-1:2008 §7.4.2).&#10;Decodes data written as pairs of ASCII hexadecimal digits.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/AsciiHex.php#L49"&gt;src/Type/AsciiHex.php:49&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CcittFax</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-CcittFax/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-CcittFax/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CcittFax implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/CcittFax.php#L57"&gt;src/Type/CcittFax.php:57&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CCITTFaxDecode filter (PDF 32000-1:2008 §7.4.6).&#10;Decompresses bi-level (1 bit per pixel) image data encoded with the CCITT&#10;facsimile standards (ITU-T T.4 Group 3 or T.6 Group 4), by wrapping the raw&#10;bitstream in a TIFF container and decoding it with the Imagick extension&#10;(ext-imagick). The result is a PNG image.&lt;/p&gt;&#10;&lt;p&gt;DecodeParms defaults (PDF 32000-1:2008 Table 11):&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;K: 0 (= Group 3 1-D; negative = Group 4 / T.6; positive = Group 3 2-D)&lt;/li&gt;&#10;&lt;li&gt;Columns: 1728 (standard fax width)&lt;/li&gt;&#10;&lt;li&gt;Rows: 0 (decode until end-of-data)&lt;/li&gt;&#10;&lt;li&gt;BlackIs1: false (0 bits are black)&lt;/li&gt;&#10;&lt;li&gt;EncodedByteAlign: false (lines are not padded to a byte boundary)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;EncodedByteAlign maps to TIFF T4Options bit 2 and so applies to Group 3 only;&#10;TIFF T6Options has no equivalent bit and it is ignored for Group 4.&lt;/p&gt;</description></item><item><title>Crypt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Crypt/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Crypt/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Crypt implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Crypt.php#L40"&gt;src/Type/Crypt.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Crypt filter (PDF 32000-1:2008 §7.4.10).&#10;When DecodeParms/Name is absent, Identity or None, the stream is passed&#10;through unchanged (PDF 32000-1:2008 §7.6.5). Any other name identifies a&#10;crypt filter of the document /CF dictionary, which this library does not&#10;apply: decoding throws instead.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;lsquo;Name&amp;rsquo; (string): crypt filter name; only Identity and None are supported.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;</description></item><item><title>Dct</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Dct/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Dct/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Dct implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Dct.php#L36"&gt;src/Type/Dct.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;DCTDecode filter (PDF 32000-1:2008 §7.4.8).&#10;A DCT stream is a self-contained JFIF/JPEG byte sequence and is passed&#10;through unchanged; JPEG decompression is left to the image-rendering layer.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Return the data unchanged.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Dct.php#L46"&gt;src/Type/Dct.php:46&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Exception thrown by this library.&lt;/p&gt;</description></item><item><title>Filter</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Filter/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Filter/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Filter&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Filter.php#L34"&gt;src/Filter.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Decoder for the PDF stream filters (PDF 32000-1:2008 §7.4).&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data with a single filter.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string|FilterType $filter, string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$filter&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-FilterType/"&gt;FilterType&lt;/a&gt;): Filter name or FilterType case; an empty name is a pass-through.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary for the filter.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Filter.php#L47"&gt;src/Filter.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_decodeAll"&gt;decodeAll()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data with a chain of filters, applied in order.&lt;/p&gt;</description></item><item><title>FilterType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-FilterType/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-FilterType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum FilterType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/FilterType.php#L37"&gt;src/FilterType.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum of the standard PDF stream filters (PDF 32000-1:2008 §7.4).&#10;The backing value of each case is the PDF filter name.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AsciiHexDecode"&gt;&lt;/a&gt;&lt;code&gt;AsciiHexDecode = 'ASCIIHexDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Ascii85Decode"&gt;&lt;/a&gt;&lt;code&gt;Ascii85Decode = 'ASCII85Decode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_LzwDecode"&gt;&lt;/a&gt;&lt;code&gt;LzwDecode = 'LZWDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FlateDecode"&gt;&lt;/a&gt;&lt;code&gt;FlateDecode = 'FlateDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_RunLengthDecode"&gt;&lt;/a&gt;&lt;code&gt;RunLengthDecode = 'RunLengthDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CcittFaxDecode"&gt;&lt;/a&gt;&lt;code&gt;CcittFaxDecode = 'CCITTFaxDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Jbig2Decode"&gt;&lt;/a&gt;&lt;code&gt;Jbig2Decode = 'JBIG2Decode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DctDecode"&gt;&lt;/a&gt;&lt;code&gt;DctDecode = 'DCTDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_JpxDecode"&gt;&lt;/a&gt;&lt;code&gt;JpxDecode = 'JPXDecode'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Crypt"&gt;&lt;/a&gt;&lt;code&gt;Crypt = 'Crypt'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose filter name to the matching enum case.&lt;/p&gt;</description></item><item><title>Flate</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Flate/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Flate/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Flate implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Flate.php#L38"&gt;src/Type/Flate.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;FlateDecode filter (PDF 32000-1:2008 §7.4.4).&#10;Decompresses zlib/deflate data and reverses the optional predictor.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;lsquo;MaxOutputSize&amp;rsquo; (int): decoded-size cap in bytes; 0 (default) = unlimited.&lt;/li&gt;&#10;&lt;li&gt;&amp;lsquo;Predictor&amp;rsquo;, &amp;lsquo;Colors&amp;rsquo;, &amp;lsquo;BitsPerComponent&amp;rsquo;, &amp;lsquo;Columns&amp;rsquo;: see Predictor.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Flate.php#L52"&gt;src/Type/Flate.php:52&lt;/a&gt;&lt;/p&gt;</description></item><item><title>JbigTwo</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-JbigTwo/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-JbigTwo/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class JbigTwo implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/JbigTwo.php#L38"&gt;src/Type/JbigTwo.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;JBIG2Decode filter (PDF 32000-1:2008 §7.4.7).&#10;Decompresses JBIG2 bi-level image data with the jbig2dec CLI tool&#10;(&lt;a href="https://jbig2dec.sourceforge.net/"&gt;https://jbig2dec.sourceforge.net/&lt;/a&gt;), which must be installed and on PATH.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;lsquo;JBIG2Globals&amp;rsquo; (string): shared JBIG2 segments referenced by the page stream.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;: if jbig2dec is not found or exits with an error.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/JbigTwo.php#L51"&gt;src/Type/JbigTwo.php:51&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Jpx</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Jpx/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Jpx/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Jpx implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Jpx.php#L38"&gt;src/Type/Jpx.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;JPXDecode filter (PDF 32000-1:2008 §7.4.9).&#10;Decompresses JPEG 2000 (JP2/JPX) image data with the Imagick extension&#10;(ext-imagick) and returns it as a PNG image.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded PNG image bytes.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Exception/"&gt;Exception&lt;/a&gt;: if the Imagick extension is not loaded or decoding fails.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Jpx.php#L50"&gt;src/Type/Jpx.php:50&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Predictor</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Predictor/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Predictor/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Predictor&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Predictor.php#L41"&gt;src/Predictor.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Reverses the predictor applied before LZW or Flate compression&#10;(PDF 32000-1:2008 Table 8).&lt;/p&gt;&#10;&lt;p&gt;Predictor 1 (default) leaves the data unchanged, 2 is the TIFF horizontal&#10;differencing predictor, and 10 to 15 are the PNG predictors of RFC 2083,&#10;where each row is prefixed by the tag of the algorithm used to encode it.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_apply"&gt;apply()&lt;/h3&gt;&#10;&lt;p&gt;Reverse the predictor described by the DecodeParms.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public apply(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>RunLength</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-RunLength/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-RunLength/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RunLength implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/RunLength.php#L41"&gt;src/Type/RunLength.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RunLengthDecode filter (PDF 32000-1:2008 §7.4.5).&#10;Decompresses byte-oriented run-length encoded data.&lt;/p&gt;&#10;&lt;p&gt;A truncated stream is not an error: a missing EOD marker (128), a run marker&#10;with no byte after it, and a literal run reaching past the end of the data&#10;all end the decode and return the bytes recovered so far.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Template</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/</link><pubDate>Thu, 27 Aug 2026 09:50:32 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-filter/classes-Com-Tecnick-Pdf-Filter-Type-Template/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Filter\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Template.php#L34"&gt;src/Type/Template.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Interface implemented by all filter decoders.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_decode"&gt;decode()&lt;/h3&gt;&#10;&lt;p&gt;Decode the data.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public decode(string $data, array&amp;lt;string,mixed&amp;gt; $params = []): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data to decode.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$params&lt;/code&gt; (array&amp;lt;string,mixed&amp;gt;): Optional DecodeParms dictionary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Decoded data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-filter/blob/main/src/Type/Template.php#L44"&gt;src/Type/Template.php:44&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AES</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AES/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AES/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AES&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AES.php#L36"&gt;src/Type/AES.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;AES&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data using OpenSSL&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $key, string $mode = &amp;#39;&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$mode&lt;/code&gt; (string): Cipher&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AES.php#L49"&gt;src/Type/AES.php:49&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AESnopad</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESnopad/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESnopad/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AESnopad&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESnopad.php#L36"&gt;src/Type/AESnopad.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;AES no-padding&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BLOCKSIZE"&gt;BLOCKSIZE&lt;/h3&gt;&#10;&lt;p&gt;Block size (IV length):&#10;\openssl_cipher_iv_length(&amp;lsquo;aes-256-cbc&amp;rsquo;)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;BLOCKSIZE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;16&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESnopad.php#L44"&gt;src/Type/AESnopad.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_IVECT"&gt;IVECT&lt;/h3&gt;&#10;&lt;p&gt;Initialization Vector (16 bytes)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;IVECT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESnopad.php#L51"&gt;src/Type/AESnopad.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_VALID_CIPHERS"&gt;VALID_CIPHERS&lt;/h3&gt;&#10;&lt;p&gt;List of valid openssl cyphers for AES encryption.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;VALID_CIPHERS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;aes-128-cbc&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;aes-256-cbc&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESnopad.php#L58"&gt;src/Type/AESnopad.php:58&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_checkCipher"&gt;checkCipher()&lt;/h3&gt;&#10;&lt;p&gt;Check if the cipher is valid and available.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public checkCipher(string $cipher): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$cipher&lt;/code&gt; (string): openSSL cipher name.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;: in case of error.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESnopad.php#L158"&gt;src/Type/AESnopad.php:158&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_checkKeyLength"&gt;checkKeyLength()&lt;/h3&gt;&#10;&lt;p&gt;Check that the key length matches the one required by the cipher.&lt;/p&gt;</description></item><item><title>Compute</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Compute/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Compute/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Compute extends Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Data/"&gt;Data&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Compute.php#L38"&gt;src/Compute.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Computes the PDF encryption data.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt data using the specified encrypt type.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(&#10; int|string $type,&#10; string $data = &amp;#39;&amp;#39;,&#10; string $key = &amp;#39;&amp;#39;,&#10; int $objnum = 0,&#10; int $gennum = 0&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$type&lt;/code&gt; (int|string): Encrypt type.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$objnum&lt;/code&gt; (int): Object number.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$gennum&lt;/code&gt; (int): Object generation number.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Data/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Data extends Output&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/"&gt;Output&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Data.php#L34"&gt;src/Data.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encryption constants and settings.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULTPERMS"&gt;DEFAULTPERMS&lt;/h3&gt;&#10;&lt;p&gt;Permission set applied when the caller does not choose one.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DEFAULTPERMS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;print&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;modify&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;copy&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;annot-forms&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;fill-forms&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;extract&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;assemble&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;print-high&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Data.php#L63"&gt;src/Data.php:63&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-output"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/"&gt;Output&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/#method___debugInfo"&gt;__debugInfo()&lt;/a&gt;: Redact the file encryption key and the passwords when the object is dumped.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/#method_escapeString"&gt;escapeString()&lt;/a&gt;: Escape a string: add &amp;ldquo;&amp;quot; before &amp;ldquo;&amp;quot;, &amp;ldquo;(&amp;rdquo; and &amp;ldquo;)&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/#method_getPdfEncryptionObj"&gt;getPdfEncryptionObj()&lt;/a&gt;: Get the PDF encryption block&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Decrypt</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Decrypt/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Decrypt/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Decrypt extends Compute&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Compute/"&gt;Compute&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Decrypt.php#L82"&gt;src/Decrypt.php:82&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Authenticates a password (or private key for public-key mode) against a PDF&#10;encryption dictionary and recovers the document file-encryption key.&lt;/p&gt;&#10;&lt;p&gt;Usage:&#10;$dec = new Decrypt($encrypt-&amp;gt;getEncryptionData());&#10;if ($dec-&amp;gt;authenticate(&amp;lsquo;userpass&amp;rsquo;)) {&#10;$plaintext = $dec-&amp;gt;decryptString($ciphertext, $objnum, $gennum);&#10;}&lt;/p&gt;&#10;&lt;p&gt;A dictionary read out of an existing document is better passed to&#10;fromEncryptionDictionary(), which derives the mode from /V, /R and /CFM for&#10;the standard handler, and from /V and /CFM for the public-key one.&lt;/p&gt;</description></item><item><title>MDFiveSixteen</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-MDFiveSixteen/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-MDFiveSixteen/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class MDFiveSixteen&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/MDFiveSixteen.php#L34"&gt;src/Type/MDFiveSixteen.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;MD5-16&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $_key = &amp;#39;H*&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_key&lt;/code&gt; (string): Unused; retained for signature compatibility.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/MDFiveSixteen.php#L44"&gt;src/Type/MDFiveSixteen.php:44&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Output</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Output/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Output&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Output.php#L73"&gt;src/Output.php:73&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Generates the PDF encryption dictionary.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TEncryptData"&gt;TEncryptData&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;CF&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;AuthEvent&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;CFM&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;EncryptMetadata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Length&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;},&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;EFF&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;EncryptMetadata&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;Filter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;Length&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;O&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;OE&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;OKS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;OVS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;Recipients&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;StmF&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;StrF&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;SubFilter&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;U&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;UE&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;UKS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;UVS&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;V&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;encrypted&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;fileid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;mode&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;objid&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;owner_password&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;perms&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;protection&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;pubkey&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; bool,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;pubkeys&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;list&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt;string, &lt;span style="color:#a5d6ff"&gt;&amp;#39;p&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;?:&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;string&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;}&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;user_password&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___debugInfo"&gt;__debugInfo()&lt;/h3&gt;&#10;&lt;p&gt;Redact the file encryption key and the passwords when the object is dumped.&lt;/p&gt;</description></item><item><title>RCFour</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFour/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFour/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RCFour&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFour.php#L36"&gt;src/Type/RCFour.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RC4 is the standard encryption algorithm used in PDF format&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_VALID_CIPHERS"&gt;VALID_CIPHERS&lt;/h3&gt;&#10;&lt;p&gt;Accepted cipher names.&lt;/p&gt;&#10;&lt;p&gt;The name is validated but does not select an implementation: encrypt()&#10;always uses the bundled rc4().&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;VALID_CIPHERS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;RC4&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;RC4-40&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFour.php#L46"&gt;src/Type/RCFour.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data using the RC4 (Rivest Cipher 4, also known as ARC4 or ARCFOUR) algorithm.&lt;/p&gt;&#10;&lt;p&gt;RC4 is cryptographically broken; use AES instead.&lt;/p&gt;&#10;&lt;p&gt;The cipher is always applied by the bundled implementation: OpenSSL 3 removed&#10;RC4 from the default provider, and its fixed key lengths do not match the&#10;variable-length object keys of ISO 32000-1 Algorithm 1.&lt;/p&gt;</description></item><item><title>Seed</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-Seed/</link><pubDate>Thu, 27 Aug 2026 00:38:26 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-Seed/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Seed&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/Seed.php#L34"&gt;src/Type/Seed.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;generate random seed&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_SEEDLEN"&gt;SEEDLEN&lt;/h3&gt;&#10;&lt;p&gt;Number of random bytes returned.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;SEEDLEN&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;64&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/Seed.php#L41"&gt;src/Type/Seed.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Generate a random seed.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data = &amp;#39;&amp;#39;, string $key = &amp;#39;&amp;#39;, string $_mode = &amp;#39;&amp;#39;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Additional data appended to the random bytes.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Additional data appended to the random bytes.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$_mode&lt;/code&gt; (string): Unused; retained for signature compatibility.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: seed&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;Random\RandomException&lt;/code&gt;: When no cryptographically secure source is available.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/Seed.php#L54"&gt;src/Type/Seed.php:54&lt;/a&gt;&lt;/p&gt;</description></item><item><title>BidiClass</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-BidiClass/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-BidiClass/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum BidiClass: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/BidiClass.php#L37"&gt;src/BidiClass.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Strong, weak and neutral bidirectional character classes.&#10;The backing value of each case is the class abbreviation used as key of&#10;Type::STRONG, Type::WEAK and Type::NEUTRAL. The explicit formatting codes&#10;(LRE, LRO, RLE, RLO, PDF, LRI, RLI, FSI, PDI) are not part of this set.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L"&gt;&lt;/a&gt;&lt;code&gt;L = 'L'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_R"&gt;&lt;/a&gt;&lt;code&gt;R = 'R'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AL"&gt;&lt;/a&gt;&lt;code&gt;AL = 'AL'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_EN"&gt;&lt;/a&gt;&lt;code&gt;EN = 'EN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ES"&gt;&lt;/a&gt;&lt;code&gt;ES = 'ES'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ET"&gt;&lt;/a&gt;&lt;code&gt;ET = 'ET'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_AN"&gt;&lt;/a&gt;&lt;code&gt;AN = 'AN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CS"&gt;&lt;/a&gt;&lt;code&gt;CS = 'CS'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NSM"&gt;&lt;/a&gt;&lt;code&gt;NSM = 'NSM'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_BN"&gt;&lt;/a&gt;&lt;code&gt;BN = 'BN'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_B"&gt;&lt;/a&gt;&lt;code&gt;B = 'B'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_S"&gt;&lt;/a&gt;&lt;code&gt;S = 'S'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_WS"&gt;&lt;/a&gt;&lt;code&gt;WS = 'WS'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ON"&gt;&lt;/a&gt;&lt;code&gt;ON = 'ON'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Get the enum case of a bidirectional class abbreviation.&lt;/p&gt;</description></item><item><title>Constant</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Constant/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Constant/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Constant&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Constant.php#L34"&gt;src/Constant.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Code points of the bidirectional formatting characters and of some common separators.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ALM"&gt;ALM&lt;/h3&gt;&#10;&lt;p&gt;(U+061C) ARABIC LETTER MARK&#10;Right-to-left zero-width Arabic character&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ALM&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x61c&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Constant.php#L131"&gt;src/Constant.php:131&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_FSI"&gt;FSI&lt;/h3&gt;&#10;&lt;p&gt;(U+2068) FIRST STRONG ISOLATE&#10;Treat the following text as isolated and in the direction of its first&#10;strong directional character that is not inside a nested isolate&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FSI&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2068&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Constant.php#L99"&gt;src/Constant.php:99&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_HYPHEN"&gt;HYPHEN&lt;/h3&gt;&#10;&lt;p&gt;(U+002D) HYPHEN-MINUS&#10;Type: ES (European Number Separator)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HYPHEN&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2d&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Constant.php#L163"&gt;src/Constant.php:163&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_LRE"&gt;LRE&lt;/h3&gt;&#10;&lt;p&gt;(U+202A) LEFT-TO-RIGHT EMBEDDING&#10;Treat the following text as embedded left-to-right&lt;/p&gt;</description></item><item><title>Encoding</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Encoding/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Encoding/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Encoding&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Encoding.php#L36"&gt;src/Encoding.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Font encoding maps: character code to glyph name for each supported encoding.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAP"&gt;MAP&lt;/h3&gt;&#10;&lt;p&gt;Font Encoding Maps.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;MAP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// encoding map for: cp874&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Encoding.php#L43"&gt;src/Encoding.php:43&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Identity</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Identity/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Identity/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Identity&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Identity.php#L34"&gt;src/Identity.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CMap stream for the Identity-H encoding.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CIDHMAP"&gt;CIDHMAP&lt;/h3&gt;&#10;&lt;p&gt;ToUnicode map for Identity-H stream&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CIDHMAP&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;EOD&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;CIDInit &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;ProcSet findresource begin&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;12&lt;/span&gt; dict begin&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;begincmap&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;CIDSystemInfo &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;Registry (Adobe) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;Ordering (UCS) &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;Supplement &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&amp;gt;&lt;/span&gt; def&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;CMapName &lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;Adobe&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;Identity&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;UCS def&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;CMapType &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; def&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;WMode &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; def&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; begincodespacerange&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;0000&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;&lt;/span&gt;FFFF&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;endcodespacerange&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a5d6ff"&gt;100&lt;/span&gt; beginbfrange&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Identity.php#L39"&gt;src/Identity.php:39&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Latin</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Latin/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Latin/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Latin&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Latin.php#L34"&gt;src/Latin.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Unicode to Latin1 character substitutions.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_SUBSTITUTE"&gt;SUBSTITUTE&lt;/h3&gt;&#10;&lt;p&gt;Array of character substitutions from UTF-8 Unicode to Latin1.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;SUBSTITUTE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8364&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;128&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Euro1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;338&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;140&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// OE&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;352&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;138&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Scaron&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;376&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;159&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Ydieresis&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;381&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;142&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// Zcaron2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;8226&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;149&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Latin.php#L41"&gt;src/Latin.php:41&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Type</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Type/</link><pubDate>Wed, 26 Aug 2026 21:01:57 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Type/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Type&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Type.php#L39"&gt;src/Type.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Bidirectional character types (UAX #9).&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULT_RANGES"&gt;DEFAULT_RANGES&lt;/h3&gt;&#10;&lt;p&gt;Bidirectional type of the unassigned code points of the blocks whose default&#10;type is not L, as [first code point, last code point, type].&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DEFAULT_RANGES&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [[&lt;span style="color:#a5d6ff"&gt;0x590&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x5ff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x600&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x7bf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x7c0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x85f&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x860&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x8ff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x20a0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x20cf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ET&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0xfb1d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xfb4f&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0xfb50&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xfdcf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0xfdf0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xfdff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0xfe70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xfeff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10800&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10cff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10d00&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10d3f&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10d40&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10ebf&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10ec0&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10eff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10f00&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10f2f&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10f30&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10f6f&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;AL&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x10f70&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x10fff&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;], [&lt;span style="color:#a5d6ff"&gt;0x1e800&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x1ec6&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Type.php#L16493"&gt;src/Type.php:16493&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Byte</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Byte/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Byte/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\File&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Byte&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Byte.php#L40"&gt;src/Byte.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Big-endian byte-level reads from a binary string&lt;/p&gt;&#10;&lt;p&gt;The 32-bit readers (getULong(), getLong(), getFixed()) assume a 64-bit PHP&#10;build: on a 32-bit build the intermediate left shift overflows the platform&#10;integer.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new string to be processed.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $str)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$str&lt;/code&gt; (string): String (binary) from where to extract values&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Byte.php#L52"&gt;src/Byte.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getByte"&gt;getByte()&lt;/h3&gt;&#10;&lt;p&gt;Get BYTE from string (8-bit unsigned integer).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getByte(int $offset): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$offset&lt;/code&gt; (int): Point from where to read the data.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int: 8 bit value&lt;/p&gt;</description></item><item><title>Cache</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Cache/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Cache/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\File&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Cache&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Cache.php#L34"&gt;src/Cache.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;File caching system with per-instance directory path and file prefix&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize the cache directory and file prefix.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(?string $prefix = null)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$prefix&lt;/code&gt; (?string): Common prefix for all cache files; null draws a&#10;random one.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Exception/"&gt;Exception&lt;/a&gt;: when the cache directory cannot be&#10;resolved, or no secure randomness is available.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Cache.php#L73"&gt;src/Cache.php:73&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_delete"&gt;delete()&lt;/h3&gt;&#10;&lt;p&gt;Delete cached files&lt;/p&gt;&#10;&lt;p&gt;A file name is built as prefix + type + key, so a key can only be matched&#10;once a type narrows the name, and a key without a type is rejected.&lt;/p&gt;</description></item><item><title>Cache.php</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/files-src-cache/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/files-src-cache/</guid><description>&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Cache.php"&gt;src/Cache.php&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Cache.php&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_K_PATH_CACHE"&gt;K_PATH_CACHE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;K_PATH_CACHE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#79c0ff"&gt;$this&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;normalizePath(&lt;span style="color:#79c0ff"&gt;$kPathCache&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Cache.php#L386"&gt;src/Cache.php:386&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Dir</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Dir/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Dir/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\File&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Dir&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Dir.php#L34"&gt;src/Dir.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Writable parent-directory lookup&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_findParentDir"&gt;findParentDir()&lt;/h3&gt;&#10;&lt;p&gt;Returns the full path of a writable parent directory.&lt;/p&gt;&#10;&lt;p&gt;Walks up from $dir looking for a writable directory named $name. A&#10;read-only directory of that name, or a regular file bearing it, is&#10;skipped.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public findParentDir(string $name, string $dir = __DIR__): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$name&lt;/code&gt; (string): Single directory name to search for. An empty or&#10;absolute name, or one containing a path separator or&#10;a parent-directory segment, is reported as not found.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$dir&lt;/code&gt; (string): Starting directory. A relative one is anchored to the&#10;current working directory first.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Directory name with a trailing separator, or an empty&#10;string when no writable match exists up to the filesystem&#10;root.&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Exception/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\File&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Library exception type&lt;/p&gt;</description></item><item><title>File</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/</link><pubDate>Wed, 26 Aug 2026 20:23:24 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-file/classes-Com-Tecnick-File-File/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\File&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class File&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-file/blob/main/src/File.php#L36"&gt;src/File.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Local and remote file reads behind host and path allowlists&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize the File object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string[] $allowedHosts = [],&#10; int $maxRemoteSize = 52428800,&#10; array&amp;lt;int,bool|int|string|callable|resource&amp;gt; $curlopts = [],&#10; array&amp;lt;int,bool|int|string|callable|resource&amp;gt;|null $defaultCurlOpts = null,&#10; array&amp;lt;int,bool|int|string|callable|resource&amp;gt;|null $fixedCurlOpts = null,&#10; string[] $allowedPaths = [],&#10; bool|null $caseSensitivePaths = null&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$allowedHosts&lt;/code&gt; (string[]): Allowlist of trusted hostnames.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$maxRemoteSize&lt;/code&gt; (int): Maximum size in bytes for remote file reads. Must be positive.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$curlopts&lt;/code&gt; (array&amp;lt;int,bool|int|string|callable|resource&amp;gt;): Custom cURL options to merge over defaults.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$defaultCurlOpts&lt;/code&gt; (array&amp;lt;int,bool|int|string|callable|resource&amp;gt;|null): Override for the default cURL&#10;options; null uses CURLOPT_DEFAULT.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$fixedCurlOpts&lt;/code&gt; (array&amp;lt;int,bool|int|string|callable|resource&amp;gt;|null): Override for the fixed cURL&#10;options; null uses CURLOPT_FIXED.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$allowedPaths&lt;/code&gt; (string[]): Allowlist of trusted file paths.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$caseSensitivePaths&lt;/code&gt; (bool|null): Override for path case-sensitivity:&#10;null = auto-detect, true = case-sensitive,&#10;false = case-insensitive.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Cmyk</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Cmyk/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Cmyk/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Cmyk extends Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Cmyk.php#L34"&gt;src/Model/Cmyk.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CMYK Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new CMYK color object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,int|float|string&amp;gt; $components)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components, each clamped to [0..1].&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by this model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Cmyk.php#L68"&gt;src/Model/Cmyk.php:68&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;: with keys (&amp;lsquo;C&amp;rsquo;, &amp;lsquo;M&amp;rsquo;, &amp;lsquo;Y&amp;rsquo;, &amp;lsquo;K&amp;rsquo;, &amp;lsquo;A&amp;rsquo;)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Cmyk.php#L83"&gt;src/Model/Cmyk.php:83&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getComponentsString"&gt;getComponentsString()&lt;/h3&gt;&#10;&lt;p&gt;Get a space separated string with color component values.&lt;/p&gt;</description></item><item><title>ColorModelType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorModelType/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorModelType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum ColorModelType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/ColorModelType.php#L37"&gt;src/ColorModelType.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the color model type.&#10;Each backing value is the string returned by Model::getType().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Gray"&gt;&lt;/a&gt;&lt;code&gt;Gray = 'GRAY'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Rgb"&gt;&lt;/a&gt;&lt;code&gt;Rgb = 'RGB'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Hsl"&gt;&lt;/a&gt;&lt;code&gt;Hsl = 'HSL'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Cmyk"&gt;&lt;/a&gt;&lt;code&gt;Cmyk = 'CMYK'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Lab"&gt;&lt;/a&gt;&lt;code&gt;Lab = 'LAB'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a color model type value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the type string (case-insensitive) or an enum case, which is&#10;returned unchanged.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$value&lt;/code&gt; (string|self): Color model type or enum case.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; self&lt;/p&gt;</description></item><item><title>ColorParserInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorParserInterface/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorParserInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ColorParserInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/ColorParserInterface.php#L38"&gt;src/ColorParserInterface.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Parses a color string into a color model.&lt;/p&gt;&#10;&lt;p&gt;Implemented by Web.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getColorObj"&gt;getColorObj()&lt;/h3&gt;&#10;&lt;p&gt;Parse the input color string and return the corresponding color object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getColorObj(string $color): ?Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$color&lt;/code&gt; (string): String containing web color definition&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; ?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/"&gt;Exception&lt;/a&gt;: if the color cannot be parsed&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/ColorParserInterface.php#L47"&gt;src/ColorParserInterface.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getHexFromName"&gt;getHexFromName()&lt;/h3&gt;&#10;&lt;p&gt;Get the color hexadecimal hash code from name.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getHexFromName(string $name): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$name&lt;/code&gt; (string): Name of the color to search (e.g.: &amp;rsquo;turquoise')&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: color hexadecimal code (e.g.: &amp;lsquo;40e0d0ff&amp;rsquo;)&lt;/p&gt;</description></item><item><title>ComponentNormalizer</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ComponentNormalizer/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ComponentNormalizer/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ComponentNormalizer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/ComponentNormalizer.php#L35"&gt;src/ComponentNormalizer.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Scales a parsed CSS component value into the [0..1] range used by the color&#10;models. Held as a collaborator by Css.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_normalize"&gt;normalize()&lt;/h3&gt;&#10;&lt;p&gt;Get the normalized value from [0..$max] to [0..1]&lt;/p&gt;&#10;&lt;p&gt;A percentage string (e.g. &amp;lsquo;50%&amp;rsquo;) is divided by 100 and ignores $max; the&#10;&amp;lsquo;%&amp;rsquo; must be the last character. Any other value is divided by $max.&#10;Non-numeric values, and any value passed with a non-positive $max, yield&#10;0.0. The result is clamped to [0..1].&lt;/p&gt;</description></item><item><title>Css</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Css/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Css/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Css&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Css.php#L41"&gt;src/Css.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Css Color class&lt;/p&gt;&#10;&lt;p&gt;Parses the CSS and Acrobat JavaScript color notations. Component scaling is&#10;delegated to a ComponentNormalizer held as a collaborator.&lt;/p&gt;&#10;&lt;p&gt;Extension points: the protected parser methods.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(ComponentNormalizer|null $normalizer = null)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$normalizer&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ComponentNormalizer/"&gt;ComponentNormalizer&lt;/a&gt;|null): Component scaler; the default is used when omitted.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Css.php#L75"&gt;src/Css.php:75&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception implements ExceptionInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ExceptionInterface/"&gt;ExceptionInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Exception.php#L37"&gt;src/Exception.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;&#10;&lt;p&gt;Raised for an invalid input condition: an unparsable color string, an unknown&#10;color or spot color name, a PDF resource that cannot be referenced.&lt;/p&gt;</description></item><item><title>ExceptionInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ExceptionInterface/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ExceptionInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ExceptionInterface extends Throwable&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Throwable&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/ExceptionInterface.php#L35"&gt;src/ExceptionInterface.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Implemented by every exception this library raises: Exception and&#10;UnknownComponentException.&lt;/p&gt;</description></item><item><title>Gray</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Gray/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Gray/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Gray extends Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Gray.php#L34"&gt;src/Model/Gray.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Gray Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new Gray color object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,int|float|string&amp;gt; $components)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components, each clamped to [0..1].&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by this model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Gray.php#L53"&gt;src/Model/Gray.php:53&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;: with keys (&amp;lsquo;G&amp;rsquo;, &amp;lsquo;A&amp;rsquo;)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Gray.php#L65"&gt;src/Model/Gray.php:65&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getComponentsString"&gt;getComponentsString()&lt;/h3&gt;&#10;&lt;p&gt;Get a space separated string with color component values.&lt;/p&gt;</description></item><item><title>Hsl</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Hsl/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Hsl/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Hsl extends Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Hsl.php#L34"&gt;src/Model/Hsl.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HSL Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new HSL color object.&lt;/p&gt;&#10;&lt;p&gt;Saturation, lightness and alpha are clamped to [0..1]. Hue is a fraction&#10;of a full turn and wraps into [0..1) instead.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,int|float|string&amp;gt; $components)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by this model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Hsl.php#L66"&gt;src/Model/Hsl.php:66&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;: with keys (&amp;lsquo;H&amp;rsquo;, &amp;lsquo;S&amp;rsquo;, &amp;lsquo;L&amp;rsquo;, &amp;lsquo;A&amp;rsquo;)&lt;/p&gt;</description></item><item><title>Lab</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Lab/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Lab/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Lab extends Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Lab.php#L34"&gt;src/Model/Lab.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;CIE Lab Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new Lab color object.&lt;/p&gt;&#10;&lt;p&gt;L* is clamped to [0..100], a* and b* to [-128..127] and alpha to [0..1].&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,int|float|string&amp;gt; $components)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by this model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Lab.php#L86"&gt;src/Model/Lab.php:86&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;: with keys (&amp;lsquo;L&amp;rsquo;, &amp;lsquo;a&amp;rsquo;, &amp;lsquo;b&amp;rsquo;, &amp;lsquo;A&amp;rsquo;)&lt;/p&gt;</description></item><item><title>Model</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Model implements Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Template/"&gt;Template&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model.php#L36"&gt;src/Model.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_create"&gt;create()&lt;/h3&gt;&#10;&lt;p&gt;Create a color model instance of the given type.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static create(&#10; ColorModelType|string $type,&#10; array&amp;lt;string,int|float|string&amp;gt; $components = []&#10;): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$type&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorModelType/"&gt;ColorModelType&lt;/a&gt;|string): Color model type.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; self&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/"&gt;Exception&lt;/a&gt;: if the type is unknown&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by the model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model.php#L76"&gt;src/Model.php:76&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getHexValue"&gt;getHexValue()&lt;/h3&gt;&#10;&lt;p&gt;Get the normalized hexadecimal value of the specified float fraction&lt;/p&gt;</description></item><item><title>Pdf</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Pdf/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Pdf/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Pdf extends Spot implements PdfColorWriterInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Spot/"&gt;Spot&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-PdfColorWriterInterface/"&gt;PdfColorWriterInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Pdf.php#L39"&gt;src/Pdf.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;PDF Color class&lt;/p&gt;&#10;&lt;p&gt;Extension points: getPdfColor() and getColorObject(). A subclass overriding&#10;either must mirror the signature exactly. Every other method is final.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_JSCOLOR"&gt;JSCOLOR&lt;/h3&gt;&#10;&lt;p&gt;Array of valid JavaScript color names to be used in PDF documents&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;JSCOLOR&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;transparent&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;green&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cyan&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;magenta&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;yellow&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;dkGray&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;gray&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;ltGray&amp;#39;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Pdf.php#L44"&gt;src/Pdf.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getColorObject"&gt;getColorObject()&lt;/h3&gt;&#10;&lt;p&gt;Returns a color object from an HTML, CSS or Spot color representation.&lt;/p&gt;&#10;&lt;p&gt;NOTE: this is a read-only lookup. A spot color referenced here is resolved&#10;but NOT registered, so it does not affect the output of&#10;getPdfSpotObjects() and getPdfSpotResources(). Use getPdfColor() or&#10;addSpotColor() to register a spot color for emission. The returned model&#10;is a copy of the registered one.&lt;/p&gt;</description></item><item><title>PdfColorWriterInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-PdfColorWriterInterface/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-PdfColorWriterInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface PdfColorWriterInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/PdfColorWriterInterface.php#L36"&gt;src/PdfColorWriterInterface.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Writes the PDF and Acrobat JavaScript color forms.&lt;/p&gt;&#10;&lt;p&gt;Implemented by Pdf.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getColorObject"&gt;getColorObject()&lt;/h3&gt;&#10;&lt;p&gt;Returns a color object from an HTML, CSS or Spot color representation.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getColorObject(string $color, bool $allowSpot = true): ?Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$color&lt;/code&gt; (string): HTML, CSS or Spot color to parse&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$allowSpot&lt;/code&gt; (bool): True to resolve spot colors, false to force a device color.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; ?&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/PdfColorWriterInterface.php#L95"&gt;src/PdfColorWriterInterface.php:95&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getJsColorString"&gt;getJsColorString()&lt;/h3&gt;&#10;&lt;p&gt;Convert a color to an Acrobat JavaScript color string.&lt;/p&gt;</description></item><item><title>Rgb</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Rgb/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Rgb/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Rgb extends Model&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model/"&gt;Model&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Rgb.php#L34"&gt;src/Model/Rgb.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RGB Color Model class&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;p&gt;Initialize a new RGB color object.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(array&amp;lt;string,int|float|string&amp;gt; $components)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$components&lt;/code&gt; (array&amp;lt;string,int|float|string&amp;gt;): Color components, each clamped to [0..1].&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/"&gt;UnknownComponentException&lt;/a&gt;: if a component name is not defined by this model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Rgb.php#L63"&gt;src/Model/Rgb.php:63&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;: with keys (&amp;lsquo;R&amp;rsquo;, &amp;lsquo;G&amp;rsquo;, &amp;lsquo;B&amp;rsquo;, &amp;lsquo;A&amp;rsquo;)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Rgb.php#L77"&gt;src/Model/Rgb.php:77&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getComponentsString"&gt;getComponentsString()&lt;/h3&gt;&#10;&lt;p&gt;Get a space separated string with color component values.&lt;/p&gt;</description></item><item><title>Spot</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Spot/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Spot/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Spot extends Web implements SpotRegistryInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Web/"&gt;Web&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-SpotRegistryInterface/"&gt;SpotRegistryInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Spot.php#L58"&gt;src/Spot.php:58&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Spot Color class&lt;/p&gt;&#10;&lt;p&gt;Extension points: getSpotColor() and the protected resolveSpotColorData().&#10;The registry mutators and the PDF emitters are final.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_TLabTriplet"&gt;TLabTriplet&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TLabRange"&gt;TLabRange&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="type_TSpotColor"&gt;TSpotColor&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; int,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; string,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; Cmyk,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;space&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;DeviceCMYK&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#39;Lab&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;lab&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;whitepoint&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TLabTriplet,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;blackpoint&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TLabTriplet,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;range&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TLabRange,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;c0&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; TLabTriplet,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;model&amp;#39;&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; Lab,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;&lt;span style="color:#ff7b72"&gt;null&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DEFAULT_SPOT_COLORS"&gt;DEFAULT_SPOT_COLORS&lt;/h3&gt;&#10;&lt;p&gt;Array of default Spot colors&#10;Color keys must be in lowercase and without spaces.&lt;/p&gt;</description></item><item><title>SpotRegistryInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-SpotRegistryInterface/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-SpotRegistryInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface SpotRegistryInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/SpotRegistryInterface.php#L40"&gt;src/SpotRegistryInterface.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Registers spot colors and writes them as PDF Separation objects.&lt;/p&gt;&#10;&lt;p&gt;Implemented by Spot.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_addSpotColor"&gt;addSpotColor()&lt;/h3&gt;&#10;&lt;p&gt;Add a new spot color or overwrite an existing one with the same name.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public addSpotColor(string $name, Cmyk $cmyk): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$name&lt;/code&gt; (string): Full name of the spot color.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$cmyk&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Cmyk/"&gt;Cmyk&lt;/a&gt;): CMYK color object&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Spot color key.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Exception/"&gt;Exception&lt;/a&gt;: if the name is unusable or the color has already been emitted&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/SpotRegistryInterface.php#L52"&gt;src/SpotRegistryInterface.php:52&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Template</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Template/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Model-Template/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color\Model&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface Template&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Template.php#L34"&gt;src/Model/Template.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Color Model Interface&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getArray"&gt;getArray()&lt;/h3&gt;&#10;&lt;p&gt;Get an array with all color components.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getArray(): array&amp;lt;string,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;string,float&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Template.php#L41"&gt;src/Model/Template.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getComponentsString"&gt;getComponentsString()&lt;/h3&gt;&#10;&lt;p&gt;Get a space separated string with color component values.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getComponentsString(): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Template.php#L85"&gt;src/Model/Template.php:85&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getCssColor"&gt;getCssColor()&lt;/h3&gt;&#10;&lt;p&gt;Get the CSS representation of the color&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getCssColor(): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Model/Template.php#L74"&gt;src/Model/Template.php:74&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getJsPdfColor"&gt;getJsPdfColor()&lt;/h3&gt;&#10;&lt;p&gt;Get the color format used in Acrobat JavaScript.&lt;/p&gt;&#10;&lt;p&gt;NOTE: the alpha channel is omitted from this representation unless it is 0 = transparent&lt;/p&gt;</description></item><item><title>UnknownComponentException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-UnknownComponentException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class UnknownComponentException extends LogicException implements ExceptionInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; LogicException&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ExceptionInterface/"&gt;ExceptionInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/UnknownComponentException.php#L37"&gt;src/UnknownComponentException.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Raised when a color model is given a component name it does not define.&lt;/p&gt;&#10;&lt;p&gt;It extends LogicException and is not caught by the lenient accessors&#10;tryGetColorObj() and getColorObject().&lt;/p&gt;</description></item><item><title>Web</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Web/</link><pubDate>Wed, 26 Aug 2026 15:23:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Web/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Color&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Web extends Css implements ColorParserInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-Css/"&gt;Css&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-color/classes-Com-Tecnick-Color-ColorParserInterface/"&gt;ColorParserInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Web.php#L38"&gt;src/Web.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Web Color class&lt;/p&gt;&#10;&lt;p&gt;Extension point: getColorObj(). Every other public method is final.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_WEBHEX"&gt;WEBHEX&lt;/h3&gt;&#10;&lt;p&gt;Maps WEB safe color names with their hexadecimal representation (#RRGGBBAA).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;WEBHEX&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;aliceblue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f0f8ffff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;antiquewhite&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;faebd7ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;aqua&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;00ffffff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;aquamarine&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;7fffd4ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;azure&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f0ffffff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;beige&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;f5f5dcff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;bisque&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ffe4c4ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;black&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;000000ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blanchedalmond&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;ffebcdff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;0000ffff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;blueviolet&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;8a2be2ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;brown&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;a52a2aff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;burlywood&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;deb887ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;cadetblue&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;5f9ea0ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;chartreuse&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;7fff00ff&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;chocolate&amp;#39;&lt;/span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-color/blob/main/src/Web.php#L59"&gt;src/Web.php:59&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_extractHexCode"&gt;extractHexCode()&lt;/h3&gt;&#10;&lt;p&gt;Extract the hexadecimal code from the input string and add the alpha channel if missing&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final public extractHexCode(string $hex): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$hex&lt;/code&gt; (string): string containing the hexadecimal color hash (i.e. #RGB, #RGBA, #RRGGBB, #RRGGBBAA)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: the hash code (e.g.: &amp;lsquo;40e0d0&amp;rsquo;)&lt;/p&gt;</description></item><item><title>CacheInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/</link><pubDate>Tue, 25 Aug 2026 15:34:29 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Cache&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface CacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/CacheInterface.php#L56"&gt;src/Cache/CacheInterface.php:56&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Optional external cache that tc-lib-pdf reuses across the sub-libraries that&#10;support caching (font subsets and processed images).&lt;/p&gt;&#10;&lt;p&gt;A single implementation of this contract can be passed to the Tcpdf&#10;constructor and is internally adapted to each sub-library&amp;rsquo;s own cache&#10;interface, so the same backend (filesystem, APCu, Redis, a PSR-16 cache,&#10;&amp;hellip;) serves every cacheable subsystem with one connection and one&#10;configuration.&lt;/p&gt;&#10;&lt;p&gt;No concrete implementation is shipped: the backend, its (de)serialization,&#10;expiration and size limits are the application&amp;rsquo;s responsibility.&#10;Implementations MUST be best-effort and MUST NOT throw on a miss or a&#10;transient backend failure.&lt;/p&gt;</description></item><item><title>CascadeContext</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-CascadeContext/</link><pubDate>Tue, 25 Aug 2026 15:34:29 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-CascadeContext/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\CSS&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CascadeContext&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/CascadeContext.php#L38"&gt;src/CSS/CascadeContext.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Tracks the global source position across all CSS sources (external stylesheets,&#10;embedded styles, inline styles) to keep the cascade order deterministic.&lt;/p&gt;&#10;&lt;p&gt;A context shared between extractions gives the rules of the first source a lower&#10;source order than the rules of the next one at equal specificity.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_INLINE_STYLE_SOURCE_ORDER"&gt;INLINE_STYLE_SOURCE_ORDER&lt;/h3&gt;&#10;&lt;p&gt;Inline style source order - higher than normal rules, lower than !important&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;INLINE_STYLE_SOURCE_ORDER&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;10000000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/CascadeContext.php#L49"&gt;src/CSS/CascadeContext.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_MAX_NORMAL_SOURCE_ORDER"&gt;MAX_NORMAL_SOURCE_ORDER&lt;/h3&gt;&#10;&lt;p&gt;Maximum value for normal (non-important, non-inline) source order&#10;Normal rules from stylesheets use 0 to MAX_NORMAL_SOURCE_ORDER&lt;/p&gt;</description></item><item><title>ListStyle</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-ListStyle/</link><pubDate>Tue, 25 Aug 2026 15:34:29 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-CSS-ListStyle/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\CSS&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ListStyle&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/ListStyle.php#L38"&gt;src/CSS/ListStyle.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Resolves list marker types and generates the counter text for list items.&lt;/p&gt;&#10;&lt;p&gt;The HTML &amp;ldquo;type&amp;rdquo; attribute values 1/a/A/i/I are case-sensitive and are mapped to the&#10;equivalent CSS list-style-type keyword; CSS keywords are case-insensitive.&#10;Counters outside the range of their counter style fall back to the decimal counter.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ROMAN_LIMIT"&gt;ROMAN_LIMIT&lt;/h3&gt;&#10;&lt;p&gt;Maximum number representable with the Roman notation, using two vinculum layers.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ROMAN_LIMIT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3999999999&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/CSS/ListStyle.php#L43"&gt;src/CSS/ListStyle.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_counterText"&gt;counterText()&lt;/h3&gt;&#10;&lt;p&gt;Returns the counter text for a list item, without the marker suffix.&lt;/p&gt;</description></item><item><title>Asn1</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Asn1/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Asn1/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Asn1&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/Asn1.php#L38"&gt;src/Cms/Asn1.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Minimal DER ASN.1 encoder/decoder used to assemble and inspect CMS/CAdES&#10;structures, RFC 3161 timestamp messages, and OCSP requests. Only the subset&#10;of ASN.1 needed by PDF signatures is implemented.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_assertMinimalInteger"&gt;assertMinimalInteger()&lt;/h3&gt;&#10;&lt;p&gt;Assert that a DER INTEGER content string is minimally encoded.&lt;/p&gt;&#10;&lt;p&gt;The minimality half of decodeInteger(), for fields carrying an integer too&#10;wide to decode, such as a certificate serial number of up to 20 octets&#10;(RFC 5280 section 4.1.2.2).&lt;/p&gt;</description></item><item><title>Builder</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Builder/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Builder/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Builder&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/Builder.php#L50"&gt;src/Cms/Builder.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Native builder for a detached CAdES-BES CMS SignedData, suitable for a&#10;PAdES B-B signature (/SubFilter /ETSI.CAdES.detached). It assembles the&#10;SignerInfo with the mandatory signed attributes (content-type,&#10;message-digest, signing-time, and the ESS signing-certificate-v2 that plain&#10;openssl_pkcs7_sign() cannot add), signs the DER SET OF signed attributes with&#10;openssl_sign(), and encodes the ContentInfo. RSA and ECDSA keys are&#10;supported with SHA-256/384/512.&lt;/p&gt;&#10;&lt;p&gt;sign() covers the case where the private key is available in this process.&#10;When it is not, or when the content is too large to hold as a string, the two&#10;halves are available on their own: signaturePayload() returns the bytes a signer&#10;has to sign for a given SigningRequest, and buildFromSignature() turns those plus the&#10;signature into the CMS. sign() is implemented over both.&lt;/p&gt;</description></item><item><title>Certificate</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Certificate/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Certificate/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Certificate&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/Certificate.php#L40"&gt;src/Cms/Certificate.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Reads the TBSCertificate fields that CMS and OCSP structures quote verbatim:&#10;the issuer and subject Names, the serial number, and the public key bits. The&#10;raw DER of each field is preserved, because IssuerAndSerialNumber and the OCSP&#10;CertID must carry the certificate&amp;rsquo;s own encoding rather than a re-encoding of&#10;the decoded value.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_MAX_EMBEDDED_CERTIFICATES"&gt;MAX_EMBEDDED_CERTIFICATES&lt;/h3&gt;&#10;&lt;p&gt;Most certificates accepted in an unauthenticated CMS CertificateSet.&lt;/p&gt;&#10;&lt;p&gt;Ocsp\Client::MAX_RESPONDER_CERTIFICATES and Signer::MAX_PATH_CERTIFICATES&#10;read it, so every certificate bag is held to the same bound.&lt;/p&gt;</description></item><item><title>Client</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ocsp-Client/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ocsp-Client/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Ocsp&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Client&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Client.php#L53"&gt;src/Ocsp/Client.php:53&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RFC 6960 OCSP codec. build() assembles an OCSPRequest with a SHA-1 CertID over&#10;the issuer&amp;rsquo;s subject Name and public key and the target&amp;rsquo;s serial number.&#10;parseResponse() applies the RFC 6960 section 3.2 acceptance rules before a&#10;response is used: successful status, a basic response type, a signature that&#10;verifies against a responder the issuer authorised and that is itself inside&#10;its validity period, a CertID matching the request, a good certificate status,&#10;and a validity interval that covers the moment of use.&lt;/p&gt;</description></item><item><title>Client</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Client/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Client/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Timestamp&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Client&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Client.php#L56"&gt;src/Timestamp/Client.php:56&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RFC 3161 timestamp codec. Builds a TimeStampReq for a signature, parses a&#10;TimeStampResp to extract the timestamp token, and maps digest algorithms to&#10;their OIDs. HTTP transport is injected into requestToken(), so the codec&#10;performs no network access and the host controls networking and SSRF&#10;protection.&lt;/p&gt;&#10;&lt;p&gt;A returned token is verified before it is embedded: its SignerInfo signature&#10;must check out against the TSA certificate the token carries, and its TSTInfo&#10;must answer the request that was sent, per RFC 3161 section 2.4.2. That means&#10;the same message imprint, the same policy when one was requested, the nonce&#10;echoed unchanged, and a genTime near the moment of the request.&lt;/p&gt;</description></item><item><title>Config</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Config/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Config/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Config&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Config.php#L36"&gt;src/Config.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Immutable signature configuration value object. Captures the signing profile,&#10;digest algorithm, and certification level, and derives the PDF /SubFilter&#10;from the selected profile.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DIGEST_ALGORITHMS"&gt;DIGEST_ALGORITHMS&lt;/h3&gt;&#10;&lt;p&gt;Supported CMS digest algorithms.&lt;/p&gt;&#10;&lt;p&gt;Derived from DigestAlgorithm, as PROFILES is from SignatureProfile.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DIGEST_ALGORITHMS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [\Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value, \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha384&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value, \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha512&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Config.php#L86"&gt;src/Config.php:86&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_PROFILE_LEGACY"&gt;PROFILE_LEGACY&lt;/h3&gt;&#10;&lt;p&gt;Legacy ISO 32000-1 signature (/SubFilter /adbe.pkcs7.detached).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;PROFILE_LEGACY&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Sign\SignatureProfile&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Legacy&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Config.php#L41"&gt;src/Config.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_PROFILE_PADES_B_B"&gt;PROFILE_PADES_B_B&lt;/h3&gt;&#10;&lt;p&gt;PAdES baseline B-B (CAdES-based, /SubFilter /ETSI.CAdES.detached).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;PROFILE_PADES_B_B&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; \Com\Tecnick\Pdf\Sign\SignatureProfile&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;PadesBB&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Config.php#L46"&gt;src/Config.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_PROFILE_PADES_B_LT"&gt;PROFILE_PADES_B_LT&lt;/h3&gt;&#10;&lt;p&gt;PAdES baseline B-LT (B-T plus a Document Security Store).&lt;/p&gt;</description></item><item><title>Config</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Config/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Config/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Timestamp&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Config&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Config.php#L41"&gt;src/Timestamp/Config.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Immutable RFC 3161 Time Stamping Authority (TSA) configuration. The codec&#10;fields (hash algorithm, policy OID, nonce) drive request construction; the&#10;transport fields (host, timeout, credentials, CA file, peer verification)&#10;are consumed by the caller-provided transport.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_HASH_ALGORITHMS"&gt;HASH_ALGORITHMS&lt;/h3&gt;&#10;&lt;p&gt;Supported TSA message-imprint digest algorithms.&lt;/p&gt;&#10;&lt;p&gt;Derived from DigestAlgorithm, which is the closed set the constructor&#10;enforces and which the CMS side shares.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;HASH_ALGORITHMS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [\Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha256&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value, \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha384&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value, \Com\Tecnick\Pdf\Sign\DigestAlgorithm&lt;span style="color:#ff7b72;font-weight:bold"&gt;::&lt;/span&gt;Sha512&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;value]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Config.php#L51"&gt;src/Timestamp/Config.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_URL_PATTERN"&gt;URL_PATTERN&lt;/h3&gt;&#10;&lt;p&gt;The shape a URL this library hands to a host transport has to have.&lt;/p&gt;</description></item><item><title>Crl</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-Crl/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-Crl/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Ltv&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Crl&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ltv/Crl.php#L52"&gt;src/Ltv/Crl.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RFC 5280 CertificateList reader. It checks what has to hold before a CRL is&#10;embedded in a Document Security Store as evidence: the bytes are one complete&#10;DER CertificateList, the issuer Name is the one that issued the certificate the&#10;distribution point came from, the two signature AlgorithmIdentifiers agree, the&#10;validity interval covers the moment of use, the list is a complete one rather&#10;than a delta or a scoped partition, and the signature verifies against the&#10;issuer&amp;rsquo;s public key.&lt;/p&gt;</description></item><item><title>DigestAlgorithm</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-DigestAlgorithm/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-DigestAlgorithm/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum DigestAlgorithm: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/DigestAlgorithm.php#L36"&gt;src/DigestAlgorithm.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the supported message-digest algorithms. It is the single&#10;closed set for both the CMS builder and the RFC 3161 message imprint. The&#10;backing value is the lowercase algorithm name accepted by both.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Sha256"&gt;&lt;/a&gt;&lt;code&gt;Sha256 = 'sha256'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Sha384"&gt;&lt;/a&gt;&lt;code&gt;Sha384 = 'sha384'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Sha512"&gt;&lt;/a&gt;&lt;code&gt;Sha512 = 'sha512'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_digestLength"&gt;digestLength()&lt;/h3&gt;&#10;&lt;p&gt;Length in bytes of a raw digest produced by this algorithm.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public digestLength(): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/DigestAlgorithm.php#L93"&gt;src/DigestAlgorithm.php:93&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose digest algorithm value to the matching enum case.&lt;/p&gt;</description></item><item><title>DocTimeStamp</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-DocTimeStamp/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-DocTimeStamp/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Output&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class DocTimeStamp&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Output/DocTimeStamp.php#L40"&gt;src/Output/DocTimeStamp.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Emits a document timestamp value object (/Type /DocTimeStamp,&#10;/SubFilter /ETSI.RFC3161) whose /Contents is a bare RFC 3161 timestamp token.&#10;It is added in an incremental update to reach PAdES B-LTA. It shares the&#10;/ByteRange and /Contents placeholders with the signature value object so the&#10;host&amp;rsquo;s signing pass locates them the same way for either object type.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_SUB_FILTER"&gt;SUB_FILTER&lt;/h3&gt;&#10;&lt;p&gt;SubFilter for an RFC 3161 document timestamp.&lt;/p&gt;</description></item><item><title>Dss</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Dss/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Dss/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Output&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Dss&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Output/Dss.php#L49"&gt;src/Output/Dss.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Emits the Document Security Store (DSS) PDF objects for a signature: the&#10;certificate, OCSP, and CRL streams, a VRI entry, and the DSS dictionary. The&#10;object number is passed by reference and advanced, and the emitted object&#10;bodies are returned keyed by number. Stream encryption is delegated to an&#10;optional encryptor callable so the emitter does not depend on the host&#10;encryption object.&lt;/p&gt;&#10;&lt;p&gt;The VRI key is the uppercase base-16 SHA-1 digest of the signature Contents&#10;bytes, per ISO 32000-2 clause 12.8.4.3.&lt;/p&gt;</description></item><item><title>Oid</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Oid/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-Oid/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Oid&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/Oid.php#L38"&gt;src/Cms/Oid.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;The object identifiers of the CMS content types and signed attribute types&#10;this library emits and reads.&lt;/p&gt;&#10;&lt;p&gt;Read by the builder, which emits an identifier, by the verifier, which resolves&#10;one back, and by SigningRequest, which reserves the types the builder controls.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_BUILDER_ATTRIBUTES"&gt;BUILDER_ATTRIBUTES&lt;/h3&gt;&#10;&lt;p&gt;The signed attribute types the CMS builder emits itself.&lt;/p&gt;&#10;&lt;p&gt;RFC 5652 section 5.3 allows at most one instance of each type in&#10;SignedAttributes, so these are the ones a caller may not also supply.&#10;signing-time is included, its presence being decided by the profile.&lt;/p&gt;</description></item><item><title>PdfString</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-PdfString/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-PdfString/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Output&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class PdfString&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Output/PdfString.php#L44"&gt;src/Output/PdfString.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Encodes a text value as a PDF string token, either through a host-supplied&#10;encoder (which may apply UTF-16, escaping, and encryption) or, when none is&#10;given, a built-in fallback.&lt;/p&gt;&#10;&lt;p&gt;The fallback emits a literal string for printable ASCII, escaping the three&#10;delimiters. Everything else is emitted as a UTF-16BE hex string with a byte&#10;order mark: raw bytes above 0x7E in a literal string are read as&#10;PDFDocEncoding and render as mojibake, and a raw CR or CRLF is folded into a&#10;single LF (ISO 32000-1 section 7.3.4.2). The hex form has neither problem.&lt;/p&gt;</description></item><item><title>Request</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ocsp-Request/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ocsp-Request/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Ocsp&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Request&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Request.php#L35"&gt;src/Ocsp/Request.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;An OCSP request together with the CertID it asks about, which RFC 6960 section&#10;3.2 requires the response to be matched against before it is accepted.&lt;/p&gt;&#10;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_certId"&gt;$certId&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $certId&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Request.php#L46"&gt;src/Ocsp/Request.php:46&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_der"&gt;$der&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $der&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Request.php#L45"&gt;src/Ocsp/Request.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_issuerDer"&gt;$issuerDer&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $issuerDer&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Request.php#L47"&gt;src/Ocsp/Request.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(string $der, string $certId, string $issuerDer)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$der&lt;/code&gt; (string): DER-encoded OCSPRequest, as sent to the responder.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$certId&lt;/code&gt; (string): DER-encoded CertID the response must quote back.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$issuerDer&lt;/code&gt; (string): DER of the issuing certificate, which the response is&#10;verified against: either the responder itself or the&#10;authority that delegated to it.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ocsp/Request.php#L44"&gt;src/Ocsp/Request.php:44&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Request</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Request/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Timestamp-Request/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Timestamp&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Request&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L36"&gt;src/Timestamp/Request.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;A TimeStampReq together with the message imprint and nonce it carries, which&#10;RFC 3161 section 2.4.2 requires the requester to check against the returned&#10;token.&lt;/p&gt;&#10;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_der"&gt;$der&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $der&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L48"&gt;src/Timestamp/Request.php:48&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_hashOid"&gt;$hashOid&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $hashOid&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L50"&gt;src/Timestamp/Request.php:50&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_imprint"&gt;$imprint&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $imprint&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L49"&gt;src/Timestamp/Request.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_nonce"&gt;$nonce&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $nonce = &amp;#39;&amp;#39;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L51"&gt;src/Timestamp/Request.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_policyOid"&gt;$policyOid&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public $policyOid = &amp;#39;&amp;#39;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L52"&gt;src/Timestamp/Request.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(&#10; string $der,&#10; string $imprint,&#10; string $hashOid,&#10; string $nonce = &amp;#39;&amp;#39;,&#10; string $policyOid = &amp;#39;&amp;#39;&#10;)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$der&lt;/code&gt; (string): DER-encoded TimeStampReq, as sent to the TSA.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$imprint&lt;/code&gt; (string): Raw digest of the timestamped bytes.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$hashOid&lt;/code&gt; (string): OID of the digest algorithm of $imprint.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$nonce&lt;/code&gt; (string): DER INTEGER of the nonce, or &amp;rsquo;&amp;rsquo; when none was sent.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$policyOid&lt;/code&gt; (string): Requested TSA policy OID, or &amp;rsquo;&amp;rsquo; when none was requested.&#10;RFC 3161 section 2.4.2 requires a token to be issued under&#10;the policy the request named.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Timestamp/Request.php#L47"&gt;src/Timestamp/Request.php:47&lt;/a&gt;&lt;/p&gt;</description></item><item><title>RevokedException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-RevokedException/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-RevokedException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RevokedException extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Exception/"&gt;Exception&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/RevokedException.php#L37"&gt;src/RevokedException.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when a responder or a CRL states that a certificate is revoked.&lt;/p&gt;&#10;&lt;p&gt;A distinct type from Exception, which covers an answer that did not arrive or&#10;was refused. Ltv\SkipReason::Revoked is the code the $onSkip observer receives.&lt;/p&gt;</description></item><item><title>Signature</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Signature/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Signature/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Output&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Signature&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Output/Signature.php#L45"&gt;src/Output/Signature.php:45&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Emits the /Sig value dictionary (the object referenced by a signature field&amp;rsquo;s&#10;/V): the fixed skeleton, the /SubFilter, and the /ByteRange and /Contents&#10;placeholders that the host rewrites while signing, plus the optional&#10;Name/Location/Reason/ContactInfo strings.&lt;/p&gt;&#10;&lt;p&gt;The /Reference (DocMDP or UR3 transform) and the /M date token are supplied by&#10;the caller as ready fragments, their content and formatting depending on host&#10;state (certification level, user rights, timezone, encryption). String encoding&#10;(escaping, UTF-16, encryption) of the info values is delegated to an injected&#10;encoder.&lt;/p&gt;</description></item><item><title>SignatureEncoding</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignatureEncoding/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignatureEncoding/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum SignatureEncoding: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/SignatureEncoding.php#L40"&gt;src/Cms/SignatureEncoding.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the encoding of a signature handed to Builder::buildFromSignature().&#10;CMS carries an ECDSA signature as the DER SEQUENCE of the two integers, while&#10;some hardware tokens and remote signing services return the fixed-width&#10;concatenation defined by IEEE P1363. The case selects which one is supplied.&#10;An RSA signature is always Der.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Der"&gt;&lt;/a&gt;&lt;code&gt;Der = 'der'&lt;/code&gt;: The signature is already encoded as CMS requires it.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_P1363"&gt;&lt;/a&gt;&lt;code&gt;P1363 = 'p1363'&lt;/code&gt;: ECDSA signature as the fixed-width concatenation r || s (IEEE P1363).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose signature encoding value to the matching enum case.&lt;/p&gt;</description></item><item><title>SignatureProfile</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-SignatureProfile/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-SignatureProfile/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum SignatureProfile: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/SignatureProfile.php#L35"&gt;src/SignatureProfile.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the supported signature profiles. The backing value of each&#10;case matches the corresponding Config::PROFILE_* constant validated by Config.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Legacy"&gt;&lt;/a&gt;&lt;code&gt;Legacy = 'legacy'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PadesBB"&gt;&lt;/a&gt;&lt;code&gt;PadesBB = 'pades-b-b'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PadesBT"&gt;&lt;/a&gt;&lt;code&gt;PadesBT = 'pades-b-t'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PadesBLT"&gt;&lt;/a&gt;&lt;code&gt;PadesBLT = 'pades-b-lt'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_PadesBLTA"&gt;&lt;/a&gt;&lt;code&gt;PadesBLTA = 'pades-b-lta'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose signature profile value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical profile string (as validated by Config) or an enum&#10;instance (returned unchanged). Unknown values throw, matching the closed&#10;set enforced by Config.&lt;/p&gt;</description></item><item><title>SignatureVerifier</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignatureVerifier/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignatureVerifier/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class SignatureVerifier&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/SignatureVerifier.php#L43"&gt;src/Cms/SignatureVerifier.php:43&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Verifies the signature of a DER structure that follows the X.509 shape of a&#10;signed body, an AlgorithmIdentifier, and a signature BIT STRING. An OCSP&#10;BasicOCSPResponse and a CRL CertificateList are both built that way, and both&#10;are accepted as validation material only once the signature over them checks&#10;out against the certificate that produced it.&lt;/p&gt;&#10;&lt;p&gt;The accepted algorithms are SHA-256 and above. SHA-1 is refused unless the&#10;caller passes $allowSha1.&lt;/p&gt;</description></item><item><title>SignedDataVerifier</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignedDataVerifier/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SignedDataVerifier/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class SignedDataVerifier&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/SignedDataVerifier.php#L51"&gt;src/Cms/SignedDataVerifier.php:51&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Verifies a CMS SignedData that carries its own content, which is the shape of&#10;an RFC 3161 timestamp token. It resolves the signer certificate from the ones&#10;the message embeds, checks the content-type and message-digest signed&#10;attributes against the encapsulated content, and verifies the signature over&#10;the DER SET OF signed attributes (RFC 5652 section 5.4).&lt;/p&gt;&#10;&lt;p&gt;eContentType sits outside the signature, so it is compared with the signed&#10;content-type attribute (RFC 5652 sections 5.3 and 11.1). An ESS&#10;signing-certificate attribute is checked when present, which binds the&#10;signature to that certificate rather than to its key alone (RFC 5035); a&#10;caller whose profile requires the attribute passes $requireSigningCertificate.&lt;/p&gt;</description></item><item><title>SigningRequest</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SigningRequest/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Cms-SigningRequest/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Cms&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class SigningRequest&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Cms/SigningRequest.php#L47"&gt;src/Cms/SigningRequest.php:47&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Validated, immutable record of everything the CMS signed attributes are derived&#10;from. It is what crosses the boundary of a two-phase signature:&#10;Builder::signaturePayload() turns it into the bytes a signer has to sign, and&#10;Builder::buildFromSignature() rebuilds the same attributes from it once the&#10;signature comes back.&lt;/p&gt;&#10;&lt;p&gt;Every invariant is enforced by the constructor, and toArray()/fromArray()&#10;round-trip through it, so a request rehydrated from a session, a queue, or a&#10;second HTTP request is validated again. Validation is not authentication: pass a&#10;key to that pair, or protect the channel, to catch a request edited into a&#10;different valid one.&lt;/p&gt;</description></item><item><title>SkipReason</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-SkipReason/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-SkipReason/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Ltv&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum SkipReason: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ltv/SkipReason.php#L41"&gt;src/Ltv/SkipReason.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Machine-readable classification of a discarded revocation URL, passed to the&#10;$onSkip observer alongside the human-readable message.&lt;/p&gt;&#10;&lt;p&gt;Revoked stands apart from the rest: it is an answer the responder gave, not a&#10;failure to obtain one.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Revoked"&gt;&lt;/a&gt;&lt;code&gt;Revoked = 'revoked'&lt;/code&gt;: The responder or the CRL states that the certificate is revoked.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Invalid"&gt;&lt;/a&gt;&lt;code&gt;Invalid = 'invalid'&lt;/code&gt;: The answer was received but rejected: malformed, unsigned, stale, or for another certificate.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Unreachable"&gt;&lt;/a&gt;&lt;code&gt;Unreachable = 'unreachable'&lt;/code&gt;: The transport did not produce an answer.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Duplicate"&gt;&lt;/a&gt;&lt;code&gt;Duplicate = 'duplicate'&lt;/code&gt;: The answer was byte-identical to one an earlier URL already produced.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_NotAttempted"&gt;&lt;/a&gt;&lt;code&gt;NotAttempted = 'not-attempted'&lt;/code&gt;: No lookup was attempted, the material needed to check the answer not being available.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromThrowable"&gt;fromThrowable()&lt;/h3&gt;&#10;&lt;p&gt;Classify the failure a fetch callback raised.&lt;/p&gt;</description></item><item><title>ValidationMaterial</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-ValidationMaterial/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Ltv-ValidationMaterial/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Ltv&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class ValidationMaterial&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Ltv/ValidationMaterial.php#L52"&gt;src/Ltv/ValidationMaterial.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Collects the long-term validation (LTV) material embedded in a PDF Document&#10;Security Store (DSS): the certificate DERs, OCSP responses, and CRLs. URL&#10;discovery decodes the certificate AIA and CRL distribution point extensions&#10;from their DER rather than from OpenSSL&amp;rsquo;s rendering of them. Network retrieval&#10;is delegated to injected transport callables, so this class chooses the URL and&#10;the host decides whether to fetch it and carries the SSRF question. The VRI key&#10;(SHA-1 of the signature Contents) is not computed here: it belongs to the DSS&#10;writer, which holds the final signature bytes.&lt;/p&gt;</description></item><item><title>Widget</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Widget/</link><pubDate>Tue, 25 Aug 2026 12:34:59 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Output-Widget/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign\Output&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Widget&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Output/Widget.php#L40"&gt;src/Output/Widget.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Emits a signature field&amp;rsquo;s widget annotation (/Subtype /Widget, /FT /Sig). The&#10;same shape serves the signed field (with a /V reference to the /Sig value&#10;object) and the reserved empty approval fields (no /V). The rectangle, the&#10;page object number, and any appearance fragment are computed by the host,&#10;which knows the page geometry and appearance resources.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_annotation"&gt;annotation()&lt;/h3&gt;&#10;&lt;p&gt;Emit a signature widget annotation object.&lt;/p&gt;</description></item><item><title>FontSubsetCacheInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontSubsetCacheInterface/</link><pubDate>Fri, 14 Aug 2026 22:55:06 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontSubsetCacheInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface FontSubsetCacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FontSubsetCacheInterface.php#L41"&gt;src/FontSubsetCacheInterface.php:41&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Optional cache contract for reusing TrueType font subset programs.&lt;/p&gt;&#10;&lt;p&gt;Implementations are injected into Output and consulted before the subsetting&#10;is performed. The cached value is the raw subset font program returned by&#10;Subset::getSubsetFont(), before any compression or encryption.&lt;/p&gt;&#10;&lt;p&gt;The library never evicts entries: expiration and size limits are up to the&#10;implementation.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_get"&gt;get()&lt;/h3&gt;&#10;&lt;p&gt;Return the cached subset font program for the given key, or null on miss.&lt;/p&gt;</description></item><item><title>FontType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontType/</link><pubDate>Fri, 14 Aug 2026 22:55:06 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum FontType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/FontType.php#L38"&gt;src/FontType.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the font type accepted by Import::__construct. The backing&#10;value of each case is the canonical type name; the empty string selects&#10;autodetection.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Auto"&gt;&lt;/a&gt;&lt;code&gt;Auto = ''&lt;/code&gt;: Autodetect the font type from the file contents.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Core"&gt;&lt;/a&gt;&lt;code&gt;Core = 'Core'&lt;/code&gt;: Adobe Font Metrics (one of the 14 Core fonts).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TrueType"&gt;&lt;/a&gt;&lt;code&gt;TrueType = 'TrueType'&lt;/code&gt;: TrueType with a single-byte encoding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TrueTypeUnicode"&gt;&lt;/a&gt;&lt;code&gt;TrueTypeUnicode = 'TrueTypeUnicode'&lt;/code&gt;: TrueType with a Unicode encoding.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Type1"&gt;&lt;/a&gt;&lt;code&gt;Type1 = 'Type1'&lt;/code&gt;: Adobe Type 1.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Cid0Jp"&gt;&lt;/a&gt;&lt;code&gt;Cid0Jp = 'CID0JP'&lt;/code&gt;: CID-0 Japanese.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Cid0Kr"&gt;&lt;/a&gt;&lt;code&gt;Cid0Kr = 'CID0KR'&lt;/code&gt;: CID-0 Korean.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Cid0Cs"&gt;&lt;/a&gt;&lt;code&gt;Cid0Cs = 'CID0CS'&lt;/code&gt;: CID-0 Chinese Simplified.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Cid0Ct"&gt;&lt;/a&gt;&lt;code&gt;Cid0Ct = 'CID0CT'&lt;/code&gt;: CID-0 Chinese Traditional.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose font type value to the matching enum case.&lt;/p&gt;</description></item><item><title>Math</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Math/</link><pubDate>Thu, 06 Aug 2026 22:23:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Math/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class Math&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Math.php#L36"&gt;src/Math.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Arbitrary precision arithmetic on non-negative decimal integer strings.&#10;The bcmath extension is used when available, otherwise the equivalent&#10;pure-PHP implementation is used, so bcmath is an optional dependency.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_add"&gt;add()&lt;/h3&gt;&#10;&lt;p&gt;Add two non-negative decimal integers.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static add(string $left, string $right): numeric-string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$left&lt;/code&gt; (string): First operand&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$right&lt;/code&gt; (string): Second operand&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; numeric-string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Math.php#L71"&gt;src/Math.php:71&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_div"&gt;div()&lt;/h3&gt;&#10;&lt;p&gt;Integer division of two non-negative decimal integers.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static div(string $left, string $right): numeric-string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>PageTemplateInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageTemplateInterface/</link><pubDate>Thu, 06 Aug 2026 19:34:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageTemplateInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface PageTemplateInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplateInterface.php#L37"&gt;src/Import/PageTemplateInterface.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Contract for an immutable value object representing a page imported as a&#10;Form XObject.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_PageBox"&gt;PageBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getHeight"&gt;getHeight()&lt;/h3&gt;&#10;&lt;p&gt;Height of the imported page in PDF user units (points).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getHeight(): float&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; float&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplateInterface.php#L52"&gt;src/Import/PageTemplateInterface.php:52&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getMediaBox"&gt;getMediaBox()&lt;/h3&gt;&#10;&lt;p&gt;Effective page box as [x0, y0, x1, y1] in points.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getMediaBox(): array&amp;lt;int,float&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; array&amp;lt;int,float&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplateInterface.php#L74"&gt;src/Import/PageTemplateInterface.php:74&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_getRotation"&gt;getRotation()&lt;/h3&gt;&#10;&lt;p&gt;Page rotation in degrees (0, 90, 180, 270).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getRotation(): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int&lt;/p&gt;</description></item><item><title>SelectiveCacheInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-SelectiveCacheInterface/</link><pubDate>Thu, 06 Aug 2026 19:34:03 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-SelectiveCacheInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Cache&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface SelectiveCacheInterface extends CacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/"&gt;CacheInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/SelectiveCacheInterface.php#L40"&gt;src/Cache/SelectiveCacheInterface.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Optional extension of CacheInterface for backends that only want to cache&#10;some of the cacheable subsystems (for example font subsets but not images).&lt;/p&gt;&#10;&lt;p&gt;A plain CacheInterface is consulted for every cacheable subsystem. When an&#10;implementation also implements this interface, each subsystem is wired only&#10;when supports() returns true for its type; unsupported types are disabled&#10;and the cache is never queried nor written for them.&lt;/p&gt;</description></item><item><title>Arabic</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Arabic/</link><pubDate>Thu, 06 Aug 2026 17:08:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Arabic/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Arabic&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Arabic.php#L39"&gt;src/Arabic.php:39&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Arabic shaping data (ArabicShaping.txt and UnicodeData.txt).&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_DIACRITIC"&gt;DIACRITIC&lt;/h3&gt;&#10;&lt;p&gt;Ligatures combining SHADDA (U+0651) with a second diacritic, so that the two&#10;marks do not overlap: second mark char code =&amp;gt; ligature char code.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;DIACRITIC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x64c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc5e&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SHADDA + ARABIC DAMMATAN&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x64d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc5f&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SHADDA + ARABIC KASRATAN&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x64e&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc60&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SHADDA + ARABIC FATHA&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x64f&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc61&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SHADDA + ARABIC DAMMA&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x650&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc62&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SHADDA + ARABIC KASRA&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x670&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xfc63&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Arabic.php#L3234"&gt;src/Arabic.php:3234&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Bracket</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Bracket/</link><pubDate>Thu, 06 Aug 2026 17:08:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Bracket/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Bracket&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Bracket.php#L38"&gt;src/Bracket.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Paired bracket properties (BidiBrackets.txt).&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CLOSE"&gt;CLOSE&lt;/h3&gt;&#10;&lt;p&gt;Closing paired brackets (Bidi_Paired_Bracket_Type=Close) and their opening counterpart.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CLOSE&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x29&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x28&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// PARENTHESIS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x5d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x5b&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// SQUARE BRACKET&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x7d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x7b&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// CURLY BRACKET&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3a&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// TIBETAN MARK GUG RTAGS GYON&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3c&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// TIBETAN MARK ANG KHANG GYON&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x169c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x169b&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Bracket.php#L117"&gt;src/Bracket.php:117&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_OPEN"&gt;OPEN&lt;/h3&gt;&#10;&lt;p&gt;Opening paired brackets (Bidi_Paired_Bracket_Type=Open) and their closing counterpart.&lt;/p&gt;</description></item><item><title>Mirror</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Mirror/</link><pubDate>Thu, 06 Aug 2026 17:08:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Mirror/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Mirror&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Mirror.php#L38"&gt;src/Mirror.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Bidi_Mirroring_Glyph property values (BidiMirroring.txt).&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_UNI"&gt;UNI&lt;/h3&gt;&#10;&lt;p&gt;Mirrored form of the characters that are mirrored when displayed in a&#10;right-to-left context (rule L4 of UAX #9).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;UNI&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;0x28&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x29&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x29&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x28&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x3c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x3e&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x3e&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x3c&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x5b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x5d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x5d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x5b&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x7b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x7d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x7d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x7b&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xab&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xbb&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xbb&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xab&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xf3a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3b&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xf3b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3a&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xf3c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0xf3d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0xf3c&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x169b&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x169c&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x169c&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x169b&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x2039&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x203a&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x203a&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2039&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x2045&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2046&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x2046&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x2045&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x207d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x207e&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x207e&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x207d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x208d&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x208e&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x208e&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x208d&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;0x2208&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;0x220&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Mirror.php#L46"&gt;src/Mirror.php:46&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Pattern</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Pattern/</link><pubDate>Thu, 06 Aug 2026 17:08:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data/classes-Com-Tecnick-Unicode-Data-Pattern/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode\Data&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Pattern&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Pattern.php#L38"&gt;src/Pattern.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Regular expressions matching directional text.&lt;/p&gt;&#10;&lt;p&gt;Generated by tools/generate.php from the Unicode Character Database 17.0.0.&#10;Do not edit manually.&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_ARABIC"&gt;ARABIC&lt;/h3&gt;&#10;&lt;p&gt;Pattern matching the Arabic characters (Bidi_Class=AL and Bidi_Class=AN).&lt;/p&gt;&#10;&lt;p&gt;The subject string must be valid UTF-8.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;ARABIC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/[&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066F}&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;\x{0671}-\x{06D5}\x{06DD}\x{06E5}\x{06E6}\x{06EE}\x{06EF}\x{06FA}-\x{070D}\x{070F}\x{0710}&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;\x{0712}-\x{072F}\x{074D}-\x{07A5}\x{07B1}\x{0860}-\x{086A}\x{0870}-\x{0891}&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;\x{08A0}-\x{08C9}\x{08E2}\x{FB50}-\x{FBC2}\x{FBD3}-\x{FD3D}\x{FD50}-\x{FD8F}&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt; &lt;span style="color:#f85149"&gt;&amp;#39;&lt;/span&gt;\x{FD92}&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;\x{FDC7}\x{FDF0}&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;\x{FDFC}\x{F&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode-data/blob/main/src/Pattern.php#L70"&gt;src/Pattern.php:70&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_RTL"&gt;RTL&lt;/h3&gt;&#10;&lt;p&gt;Pattern matching the strong right-to-left characters (Bidi_Class=R) and the&#10;right-to-left explicit formatting characters (RLE, RLO, RLI).&lt;/p&gt;&#10;&lt;p&gt;Arabic characters are matched by the ARABIC pattern instead.&#10;The subject string must be valid UTF-8.&lt;/p&gt;</description></item><item><title>AFRelationship</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-AFRelationship/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-AFRelationship/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum AFRelationship: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/AFRelationship.php#L37"&gt;src/AFRelationship.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the PDF/A-3 embedded file /AFRelationship value, as validated&#10;by JavaScript::addEmbeddedFile().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Source"&gt;&lt;/a&gt;&lt;code&gt;Source = 'Source'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Data"&gt;&lt;/a&gt;&lt;code&gt;Data = 'Data'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Alternative"&gt;&lt;/a&gt;&lt;code&gt;Alternative = 'Alternative'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Supplement"&gt;&lt;/a&gt;&lt;code&gt;Supplement = 'Supplement'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Unspecified"&gt;&lt;/a&gt;&lt;code&gt;Unspecified = 'Unspecified'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose AFRelationship value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the exact relationship name or an enum instance (returned&#10;unchanged). Unknown values throw, matching addEmbeddedFile().&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$value&lt;/code&gt; (string|self): AFRelationship name or enum case.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; self&lt;/p&gt;</description></item><item><title>CacheType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheType/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Cache&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum CacheType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/CacheType.php#L37"&gt;src/Cache/CacheType.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the cacheable subsystem type. The backing value of each case&#10;matches a CacheInterface::TYPE_* constant.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Font"&gt;&lt;/a&gt;&lt;code&gt;Font = 'font'&lt;/code&gt;: TrueType font subset programs (CacheInterface::TYPE_FONT).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Image"&gt;&lt;/a&gt;&lt;code&gt;Image = 'image'&lt;/code&gt;: Processed image data (CacheInterface::TYPE_IMAGE).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose cache type value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical type name or an enum instance (returned unchanged).&#10;Unknown values throw.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>DisplayZoom</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-DisplayZoom/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-DisplayZoom/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum DisplayZoom: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/DisplayZoom.php#L35"&gt;src/DisplayZoom.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the named document zoom modes accepted by&#10;Tcpdf::setDisplayMode() (in addition to a numeric zoom factor).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FullPage"&gt;&lt;/a&gt;&lt;code&gt;FullPage = 'fullpage'&lt;/code&gt;: Display the entire page on screen.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FullWidth"&gt;&lt;/a&gt;&lt;code&gt;FullWidth = 'fullwidth'&lt;/code&gt;: Use the full width of the window.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Real"&gt;&lt;/a&gt;&lt;code&gt;Real = 'real'&lt;/code&gt;: Real size (100%).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_DefaultZoom"&gt;&lt;/a&gt;&lt;code&gt;DefaultZoom = 'default'&lt;/code&gt;: Use the viewer default zoom.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose named zoom value to the matching enum case.&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Exception/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>External</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-External/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-External/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Signature&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class External&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/External.php#L40"&gt;src/Signature/External.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Fluent sub-facade for the external / remote signing workflow, reached through&#10;Tcpdf::signature()-&amp;gt;external(). It forwards to the existing external-signing&#10;methods on Tcpdf.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(Tcpdf $pdf)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$pdf&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Tcpdf/"&gt;Tcpdf&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/External.php#L42"&gt;src/Signature/External.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_apply"&gt;apply()&lt;/h3&gt;&#10;&lt;p&gt;Inject an externally generated CMS/PKCS#7 signature into a prepared document.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public apply(&#10; string $preparedPdf,&#10; array{int, int, int, int} $byteRange,&#10; string $signature,&#10; string|ExternalSignatureEncoding $encoding = &amp;#39;binary&amp;#39;&#10;): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$preparedPdf&lt;/code&gt; (string): Prepared PDF returned by prepare().&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$byteRange&lt;/code&gt; (array{int, int, int, int}): ByteRange returned by prepare().&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$signature&lt;/code&gt; (string): External signature data.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$encoding&lt;/code&gt; (string|&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-ExternalSignatureEncoding/"&gt;ExternalSignatureEncoding&lt;/a&gt;): Signature encoding: binary, base64, hex, or enum case.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: Fully signed PDF document.&lt;/p&gt;</description></item><item><title>ExternalSignatureEncoding</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-ExternalSignatureEncoding/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-ExternalSignatureEncoding/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Signature&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum ExternalSignatureEncoding: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/ExternalSignatureEncoding.php#L37"&gt;src/Signature/ExternalSignatureEncoding.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the encoding of an externally-produced signature value passed&#10;to Tcpdf::applyExternalSignature(): binary, base64 or hex.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Binary"&gt;&lt;/a&gt;&lt;code&gt;Binary = 'binary'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Base64"&gt;&lt;/a&gt;&lt;code&gt;Base64 = 'base64'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Hex"&gt;&lt;/a&gt;&lt;code&gt;Hex = 'hex'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose signature encoding value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical name (case-insensitive, surrounding whitespace&#10;trimmed) or an enum instance (returned unchanged). Unknown values throw,&#10;matching applyExternalSignature().&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$value&lt;/code&gt; (string|self): Signature encoding or enum case.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; self&lt;/p&gt;</description></item><item><title>PageTemplate</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageTemplate/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageTemplate/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class PageTemplate implements PageTemplateInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-PageTemplateInterface/"&gt;PageTemplateInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplate.php#L36"&gt;src/Import/PageTemplate.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Immutable value object representing a page that has been imported as a Form XObject.&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="type_PageBox"&gt;PageBox&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;array&lt;/span&gt;{&lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float, &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:&lt;/span&gt; float}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="properties"&gt;Properties&lt;/h2&gt;&#10;&lt;h3 id="property_height"&gt;$height&lt;/h3&gt;&#10;&lt;p&gt;Height of the imported page in user units.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public float $height&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplate.php#L57"&gt;src/Import/PageTemplate.php:57&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_mediaBox"&gt;$mediaBox&lt;/h3&gt;&#10;&lt;p&gt;MediaBox as [x0, y0, x1, y1] in points.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public array&amp;lt;int,float&amp;gt; $mediaBox&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplate.php#L85"&gt;src/Import/PageTemplate.php:85&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_rotation"&gt;$rotation&lt;/h3&gt;&#10;&lt;p&gt;Page rotation in degrees (0, 90, 180, 270).&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public int $rotation&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplate.php#L64"&gt;src/Import/PageTemplate.php:64&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="property_sourceId"&gt;$sourceId&lt;/h3&gt;&#10;&lt;p&gt;Source document identifier.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public string $sourceId&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/PageTemplate.php#L71"&gt;src/Import/PageTemplate.php:71&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PdfConformance</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfConformance/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-PdfConformance/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum PdfConformance: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/PdfConformance.php#L36"&gt;src/PdfConformance.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the PDF conformance mode accepted by Tcpdf::setPDFMode():&#10;the empty string (no special conformance), a PDF/A level, a PDF/X profile or&#10;a PDF/UA profile. The backing value is the lowercase mode identifier.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_None"&gt;&lt;/a&gt;&lt;code&gt;None = ''&lt;/code&gt;: No special conformance.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa1"&gt;&lt;/a&gt;&lt;code&gt;Pdfa1 = 'pdfa1'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa1a"&gt;&lt;/a&gt;&lt;code&gt;Pdfa1a = 'pdfa1a'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa1b"&gt;&lt;/a&gt;&lt;code&gt;Pdfa1b = 'pdfa1b'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa2"&gt;&lt;/a&gt;&lt;code&gt;Pdfa2 = 'pdfa2'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa2a"&gt;&lt;/a&gt;&lt;code&gt;Pdfa2a = 'pdfa2a'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa2b"&gt;&lt;/a&gt;&lt;code&gt;Pdfa2b = 'pdfa2b'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa2u"&gt;&lt;/a&gt;&lt;code&gt;Pdfa2u = 'pdfa2u'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa3"&gt;&lt;/a&gt;&lt;code&gt;Pdfa3 = 'pdfa3'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa3a"&gt;&lt;/a&gt;&lt;code&gt;Pdfa3a = 'pdfa3a'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa3b"&gt;&lt;/a&gt;&lt;code&gt;Pdfa3b = 'pdfa3b'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfa3u"&gt;&lt;/a&gt;&lt;code&gt;Pdfa3u = 'pdfa3u'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfx"&gt;&lt;/a&gt;&lt;code&gt;Pdfx = 'pdfx'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfx1a"&gt;&lt;/a&gt;&lt;code&gt;Pdfx1a = 'pdfx1a'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfx3"&gt;&lt;/a&gt;&lt;code&gt;Pdfx3 = 'pdfx3'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfx4"&gt;&lt;/a&gt;&lt;code&gt;Pdfx4 = 'pdfx4'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfx5"&gt;&lt;/a&gt;&lt;code&gt;Pdfx5 = 'pdfx5'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfua"&gt;&lt;/a&gt;&lt;code&gt;Pdfua = 'pdfua'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfua1"&gt;&lt;/a&gt;&lt;code&gt;Pdfua1 = 'pdfua1'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Pdfua2"&gt;&lt;/a&gt;&lt;code&gt;Pdfua2 = 'pdfua2'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose conformance value to the matching enum case.&lt;/p&gt;</description></item><item><title>SignatureAppearanceMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-SignatureAppearanceMode/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Signature-SignatureAppearanceMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Signature&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum SignatureAppearanceMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Signature/SignatureAppearanceMode.php#L37"&gt;src/Signature/SignatureAppearanceMode.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the signature widget appearance stream slot: N (normal),&#10;R (rollover) or D (down), as validated by Tcpdf::setSignatureAppearanceStream().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Normal"&gt;&lt;/a&gt;&lt;code&gt;Normal = 'N'&lt;/code&gt;: Normal appearance (/N).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Rollover"&gt;&lt;/a&gt;&lt;code&gt;Rollover = 'R'&lt;/code&gt;: Rollover appearance (/R).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Down"&gt;&lt;/a&gt;&lt;code&gt;Down = 'D'&lt;/code&gt;: Down appearance (/D).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose appearance mode value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts N, R or D (case-insensitive) or an enum instance (returned&#10;unchanged). Unknown values throw, matching setSignatureAppearanceStream().&lt;/p&gt;</description></item><item><title>TextFitMode</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextFitMode/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextFitMode/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum TextFitMode: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/TextFitMode.php#L35"&gt;src/TextFitMode.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the text-cell auto-fit mode: &amp;rsquo;&amp;rsquo; disables auto-fit, otherwise&#10;T, S or F select a fit strategy (see Text::normalizeTextCellFitMode()).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Off"&gt;&lt;/a&gt;&lt;code&gt;Off = ''&lt;/code&gt;: Auto-fit disabled.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Truncate"&gt;&lt;/a&gt;&lt;code&gt;Truncate = 'T'&lt;/code&gt;: Truncate the text to fit the cell width and height.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Stretch"&gt;&lt;/a&gt;&lt;code&gt;Stretch = 'S'&lt;/code&gt;: Compress the text horizontally to best fit the cell width.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ShrinkFont"&gt;&lt;/a&gt;&lt;code&gt;ShrinkFont = 'F'&lt;/code&gt;: Decrease the font size only when the text is too large.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose fit mode value to the matching enum case.&lt;/p&gt;</description></item><item><title>TextHAlign</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextHAlign/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextHAlign/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum TextHAlign: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/TextHAlign.php#L35"&gt;src/TextHAlign.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the horizontal alignment of text inside a cell: L (left),&#10;C (center), R (right) or J (justify).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Left"&gt;&lt;/a&gt;&lt;code&gt;Left = 'L'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Center"&gt;&lt;/a&gt;&lt;code&gt;Center = 'C'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Right"&gt;&lt;/a&gt;&lt;code&gt;Right = 'R'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Justify"&gt;&lt;/a&gt;&lt;code&gt;Justify = 'J'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose horizontal alignment value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts L, C, R or J (case-insensitive, surrounding whitespace trimmed) or&#10;an enum instance (returned unchanged). Unknown values fall back to Left,&#10;matching the cell horizontal alignment default.&lt;/p&gt;</description></item><item><title>TextVAlign</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextVAlign/</link><pubDate>Fri, 17 Jul 2026 22:39:15 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-TextVAlign/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum TextVAlign: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/TextVAlign.php#L36"&gt;src/TextVAlign.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the vertical alignment of text inside a cell: T (top),&#10;C (center), B (bottom), A (center on font ascent), L (center on font&#10;baseline) or D (center on font descent).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Top"&gt;&lt;/a&gt;&lt;code&gt;Top = 'T'&lt;/code&gt;: Align to the top edge of the cell.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Center"&gt;&lt;/a&gt;&lt;code&gt;Center = 'C'&lt;/code&gt;: Align to the vertical center of the cell.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Bottom"&gt;&lt;/a&gt;&lt;code&gt;Bottom = 'B'&lt;/code&gt;: Align to the bottom edge of the cell.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Ascent"&gt;&lt;/a&gt;&lt;code&gt;Ascent = 'A'&lt;/code&gt;: Center on the font ascent line.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Baseline"&gt;&lt;/a&gt;&lt;code&gt;Baseline = 'L'&lt;/code&gt;: Center on the font baseline.&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Descent"&gt;&lt;/a&gt;&lt;code&gt;Descent = 'D'&lt;/code&gt;: Center on the font descent line.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose vertical alignment value to the matching enum case.&lt;/p&gt;</description></item><item><title>Core</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Core/</link><pubDate>Fri, 17 Jul 2026 20:22:14 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Core/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Core&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Core.php#L32"&gt;src/Core.php:32&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_FONT"&gt;FONT&lt;/h3&gt;&#10;&lt;p&gt;Core fonts&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;FONT&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&lt;span style="color:#a5d6ff"&gt;&amp;#39;courier&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Courier&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courierB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Courier-Bold&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courierI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Courier-Oblique&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;courierBI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Courier-BoldOblique&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helvetica&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Helvetica&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helveticaB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Helvetica-Bold&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helveticaI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Helvetica-Oblique&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;helveticaBI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Helvetica-BoldOblique&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;timesroman&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Times-Roman&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;times&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Times-Roman&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;timesB&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Times-Bold&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;timesI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;Times-Italic&amp;#39;&lt;/span&gt;, &lt;span style="color:#a5d6ff"&gt;&amp;#39;timesBI&amp;#39;&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#f85149"&gt;&amp;#39;&lt;/span&gt;Times&lt;span style="color:#ff7b72;font-weight:bold"&gt;-&lt;/span&gt;Bo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Core.php#L39"&gt;src/Core.php:39&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Exception/</link><pubDate>Fri, 17 Jul 2026 20:22:14 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Font&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-font/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Exception/</link><pubDate>Fri, 17 Jul 2026 20:20:33 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>ImageImportInterface</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-ImageImportInterface/</link><pubDate>Fri, 17 Jul 2026 20:20:33 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import-ImageImportInterface/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Image\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;interface ImageImportInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/ImageImportInterface.php#L34"&gt;src/Import/ImageImportInterface.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_getData"&gt;getData()&lt;/h3&gt;&#10;&lt;p&gt;Extract data from an image.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public getData(ImageBaseData $data): ImageBaseData&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;): Image raw data.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageBaseData"&gt;ImageBaseData&lt;/a&gt;: Image raw data array.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-image/blob/main/src/Import/ImageImportInterface.php#L43"&gt;src/Import/ImageImportInterface.php:43&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Exception/</link><pubDate>Fri, 17 Jul 2026 20:18:50 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph/classes-Com-Tecnick-Pdf-Graph-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Graph&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-graph/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Exception/</link><pubDate>Fri, 17 Jul 2026 20:17:39 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class.&lt;/p&gt;</description></item><item><title>PageBoxType</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageBoxType/</link><pubDate>Fri, 17 Jul 2026 20:17:39 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page/classes-Com-Tecnick-Pdf-Page-PageBoxType/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Page&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum PageBoxType: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-page/blob/main/src/PageBoxType.php#L37"&gt;src/PageBoxType.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the PDF page boundary box names. The backing value of each&#10;case matches an entry of Box::BOX validated by Box::setBox().&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_MediaBox"&gt;&lt;/a&gt;&lt;code&gt;MediaBox = 'MediaBox'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_CropBox"&gt;&lt;/a&gt;&lt;code&gt;CropBox = 'CropBox'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_BleedBox"&gt;&lt;/a&gt;&lt;code&gt;BleedBox = 'BleedBox'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_TrimBox"&gt;&lt;/a&gt;&lt;code&gt;TrimBox = 'TrimBox'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_ArtBox"&gt;&lt;/a&gt;&lt;code&gt;ArtBox = 'ArtBox'&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose page box value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the exact box name (as validated by Box::setBox) or an enum&#10;instance (returned unchanged). Unknown values throw.&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Exception/</link><pubDate>Fri, 17 Jul 2026 20:15:54 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-parser/classes-Com-Tecnick-Pdf-Parser-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Parser&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-parser/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Exception/</link><pubDate>Fri, 17 Jul 2026 20:09:36 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-unicode/classes-Com-Tecnick-Unicode-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Unicode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-unicode/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>AztecHint</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-AztecHint/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-AztecHint/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum AztecHint: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/AztecHint.php#L35"&gt;src/Type/Square/Aztec/AztecHint.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Aztec Code encoding hint: A (automatic, default) or B&#10;(binary).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Automatic"&gt;&lt;/a&gt;&lt;code&gt;Automatic = 'A'&lt;/code&gt;: Automatic encoding (default).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Binary"&gt;&lt;/a&gt;&lt;code&gt;Binary = 'B'&lt;/code&gt;: Binary encoding.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose Aztec hint value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical letter or an enum instance (returned unchanged).&#10;Unknown values fall back to Automatic, matching the lenient behavior of&#10;Aztec.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>AztecRange</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-AztecRange/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-AztecRange/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum AztecRange: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/AztecRange.php#L35"&gt;src/Type/Square/Aztec/AztecRange.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Aztec Code symbol range mode: A (automatic selection&#10;between Compact and Full Range, default) or F (force Full Range).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Automatic"&gt;&lt;/a&gt;&lt;code&gt;Automatic = 'A'&lt;/code&gt;: Automatic selection between Compact (priority) and Full Range (default).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_FullRange"&gt;&lt;/a&gt;&lt;code&gt;FullRange = 'F'&lt;/code&gt;: Force Full Range mode.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose Aztec range mode value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical letter or an enum instance (returned unchanged).&#10;Unknown values fall back to Automatic, matching the lenient behavior of&#10;Aztec.&lt;/p&gt;</description></item><item><title>CodeNineThree</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeNineThree/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeNineThree/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeNineThree extends CodeThreeNineExtCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeThreeNineExtCheck/"&gt;CodeThreeNineExtCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeNineThree.php#L37"&gt;src/Type/Linear/CodeNineThree.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeNineThree;&lt;/p&gt;&#10;&lt;p&gt;CodeNineThree Barcode type class&#10;CODE 93 - USS-93&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeOneTwoEightA</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightA/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightA/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneTwoEightA extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php#L37"&gt;src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightA;&lt;/p&gt;&#10;&lt;p&gt;CodeOneTwoEightA Barcode type class&#10;CODE 128 A&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeOneTwoEightB</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightB/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightB/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneTwoEightB extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php#L37"&gt;src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightB;&lt;/p&gt;&#10;&lt;p&gt;CodeOneTwoEightB Barcode type class&#10;CODE 128 B&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CodeOneTwoEightC</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightC/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-CodeOneTwoEightC/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class CodeOneTwoEightC extends CodeOneTwoEight&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight/"&gt;CodeOneTwoEight&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php#L37"&gt;src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\CodeOneTwoEightC;&lt;/p&gt;&#10;&lt;p&gt;CodeOneTwoEightC Barcode type class&#10;CODE 128 C&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Data/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Aztec-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Aztec&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Data.php#L34"&gt;src/Type/Square/Aztec/Data.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Data for Aztec Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CHAR_ENC"&gt;CHAR_ENC&lt;/h3&gt;&#10;&lt;p&gt;Code character encoding for each mode.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CHAR_ENC&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// MODE_UPPER (initial mode)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;32&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39; &amp;#39; (SP)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;65&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;A&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;66&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;B&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;67&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;C&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;68&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Data.php#L97"&gt;src/Type/Square/Aztec/Data.php:97&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="constant_CHAR_MODES"&gt;CHAR_MODES&lt;/h3&gt;&#10;&lt;p&gt;Map character ASCII codes to their non-binary mode.&lt;/p&gt;&#10;&lt;p&gt;Exceptions are:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;the space &amp;rsquo; &amp;rsquo; character (32) that maps for modes 0,1,2.&lt;/li&gt;&#10;&lt;li&gt;the carriage return &amp;lsquo;\r&amp;rsquo; character (13) that maps for modes 3,4.&lt;/li&gt;&#10;&lt;li&gt;the comma &amp;lsquo;,&amp;rsquo; and dot &amp;lsquo;.&amp;rsquo; characters (44,46) that map for modes 2,4.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CHAR_MODES&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;1&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;^A&amp;#39; (SOH)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;2&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;^B&amp;#39; (STX)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;^C&amp;#39; (ETX)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;4&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;^D&amp;#39; (EOT)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;5&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// &amp;#39;^E&amp;#39; (ENQ)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;6&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#a5d6ff"&gt;3&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Aztec/Data.php#L246"&gt;src/Type/Square/Aztec/Data.php:246&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Data/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Data/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Data&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSeven/Data.php#L36"&gt;src/Type/Square/PdfFourOneSeven/Data.php:36&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Data for PdfFourOneSeven Barcode type class&lt;/p&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="constant_CLUSTERS"&gt;CLUSTERS&lt;/h3&gt;&#10;&lt;p&gt;Clusters of codewords (0, 3, 6).&lt;/p&gt;&#10;&lt;p&gt;Values are hex equivalents of binary representation of bars (1 = bar, 0 = space).&#10;The codewords numbered from 900 to 928 have special meaning,&#10;some enable to switch between modes in order to optimise the code:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;900 : Switch to &amp;#34;Text&amp;#34; mode&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;901 : Switch to &amp;#34;Byte&amp;#34; mode&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;902 : Switch to &amp;#34;Numeric&amp;#34; mode&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;903 - 912 : Reserved&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;913 : Switch to &amp;#34;Octet&amp;#34; only for the next codeword&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;914 - 920 : Reserved&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;921 : Initialization&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;922 : Terminator codeword for Macro PDF control block&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;923 : Sequence tag to identify the beginning of optional fields in the Macro PDF control block&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;924 : Switch to &amp;#34;Byte&amp;#34; mode (If the total number of byte is multiple of 6)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;925 : Identifier for a user defined Extended Channel Interpretation (ECI)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;926 : Identifier for a general purpose ECI format&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;927 : Identifier for an ECI of a character set or code page&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;928 : Macro marker codeword to indicate the beginning of a Macro PDF Control Block&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;public&lt;/span&gt; &lt;span style="color:#ff7b72"&gt;const&lt;/span&gt; &lt;span style="color:#79c0ff;font-weight:bold"&gt;CLUSTERS&lt;/span&gt; &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; [[&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;// cluster 0 -----------------------------------------------------------------------&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1d5c0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1eaf0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1f57c&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1d4e0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1ea78&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1f53e&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1a8c0&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1d470&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x1a860&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;0x15040&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;// … truncated, see source&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSeven/Data.php#L235"&gt;src/Type/Square/PdfFourOneSeven/Data.php:235&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DatamatrixShape</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-DatamatrixShape/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Datamatrix-DatamatrixShape/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\Datamatrix&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum DatamatrixShape: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Datamatrix/DatamatrixShape.php#L35"&gt;src/Type/Square/Datamatrix/DatamatrixShape.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the Data Matrix symbol shape: S (square, default) or R&#10;(rectangular).&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Square"&gt;&lt;/a&gt;&lt;code&gt;Square = 'S'&lt;/code&gt;: Square (default).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Rectangular"&gt;&lt;/a&gt;&lt;code&gt;Rectangular = 'R'&lt;/code&gt;: Rectangular.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose Data Matrix shape value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical letter or an enum instance (returned unchanged).&#10;Unknown values fall back to Square, matching the lenient behavior of&#10;Datamatrix.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public static fromLoose(string|self $value): self&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>EanFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanFive/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class EanFive extends EanTwo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-EanTwo/"&gt;EanTwo&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/EanFive.php#L35"&gt;src/Type/Linear/EanFive.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\EanFive;&lt;/p&gt;&#10;&lt;p&gt;EanFive Barcode type class&#10;EAN 5-Digits UPC-Based Extension&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Exception/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>InterleavedTwoOfFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFive/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class InterleavedTwoOfFive extends InterleavedTwoOfFiveCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFiveCheck/"&gt;InterleavedTwoOfFiveCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/InterleavedTwoOfFive.php#L35"&gt;src/Type/Linear/InterleavedTwoOfFive.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFive;&lt;/p&gt;&#10;&lt;p&gt;InterleavedTwoOfFive Barcode type class&#10;Interleaved 2 of 5&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>InterleavedTwoOfFiveCheck</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFiveCheck/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-InterleavedTwoOfFiveCheck/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class InterleavedTwoOfFiveCheck extends StandardTwoOfFiveCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFiveCheck/"&gt;StandardTwoOfFiveCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/InterleavedTwoOfFiveCheck.php#L37"&gt;src/Type/Linear/InterleavedTwoOfFiveCheck.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFiveCheck;&lt;/p&gt;&#10;&lt;p&gt;InterleavedTwoOfFiveCheck Barcode type class&#10;Interleaved 2 of 5 + CHECKSUM&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Linear</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Linear extends Type&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear.php#L34"&gt;src/Type/Linear.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Msi</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Msi/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Msi/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Msi extends MsiCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-MsiCheck/"&gt;MsiCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Msi.php#L35"&gt;src/Type/Linear/Msi.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Msi;&lt;/p&gt;&#10;&lt;p&gt;Msi Barcode type class&#10;MSI (Variation of Plessey code)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Planet</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Planet/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Planet/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Planet extends Postnet&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Postnet/"&gt;Postnet&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Planet.php#L35"&gt;src/Type/Linear/Planet.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Planet;&lt;/p&gt;&#10;&lt;p&gt;Planet Barcode type class&#10;PLANET&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Postnet</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Postnet/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Postnet/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Postnet extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Postnet.php#L37"&gt;src/Type/Linear/Postnet.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\Postnet;&lt;/p&gt;&#10;&lt;p&gt;Postnet Barcode type class&#10;POSTNET&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Process</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-Process/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-CodeOneTwoEight-Process/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Process extends Linear&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear/"&gt;Linear&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/CodeOneTwoEight/Process.php#L37"&gt;src/Type/Linear/CodeOneTwoEight/Process.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\Process;&lt;/p&gt;&#10;&lt;p&gt;Process methods for CodeOneTwoEight Barcode type class&#10;CODE 128&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>QrEccLevel</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-QrEccLevel/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-QrCode-QrEccLevel/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\QrCode&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;enum QrEccLevel: string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/QrCode/QrEccLevel.php#L35"&gt;src/Type/Square/QrCode/QrEccLevel.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Backed enum for the QR Code error correction level. The backing value of each&#10;case is the letter used as a key of Data::ECC_LEVELS.&lt;/p&gt;&#10;&lt;h2 id="cases"&gt;Cases&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a id="enumcase_L"&gt;&lt;/a&gt;&lt;code&gt;L = 'L'&lt;/code&gt;: Low (7%).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_M"&gt;&lt;/a&gt;&lt;code&gt;M = 'M'&lt;/code&gt;: Medium (15%).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_Q"&gt;&lt;/a&gt;&lt;code&gt;Q = 'Q'&lt;/code&gt;: Quartile (25%).&lt;/li&gt;&#10;&lt;li&gt;&lt;a id="enumcase_H"&gt;&lt;/a&gt;&lt;code&gt;H = 'H'&lt;/code&gt;: High (30%).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_fromLoose"&gt;fromLoose()&lt;/h3&gt;&#10;&lt;p&gt;Resolve a loose ECC level value to the matching enum case.&lt;/p&gt;&#10;&lt;p&gt;Accepts the canonical letter or an enum instance (returned unchanged).&#10;Unknown values fall back to L, matching the lenient behavior of QrCode.&lt;/p&gt;</description></item><item><title>Raw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Raw/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-Raw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Raw extends Raw&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Raw/"&gt;Raw&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/Raw.php#L35"&gt;src/Type/Linear/Raw.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Raw Barcode type class&#10;RAW MODE (comma-separated rows)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Raw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Raw/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Raw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Raw extends Type&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Raw.php#L37"&gt;src/Type/Raw.php:37&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Raw Barcode type class&#10;RAW MODE (comma-separated rows)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Raw</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Raw/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-Raw/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Raw extends Raw&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Raw/"&gt;Raw&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/Raw.php#L35"&gt;src/Type/Square/Raw.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Raw Barcode type class&#10;RAW MODE (comma-separated rows)&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Sequence</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Sequence/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square-PdfFourOneSeven-Sequence/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Sequence extends Square&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/"&gt;Square&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square/PdfFourOneSeven/Sequence.php#L34"&gt;src/Type/Square/PdfFourOneSeven/Sequence.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Sequence methods for PdfFourOneSeven Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Square</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Square/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abstract class Square extends Type&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Square.php#L34"&gt;src/Type/Square.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Barcode type class&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>StandardTwoOfFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFive/</link><pubDate>Fri, 17 Jul 2026 20:05:47 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Barcode\Type\Linear&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class StandardTwoOfFive extends StandardTwoOfFiveCheck&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Linear-StandardTwoOfFiveCheck/"&gt;StandardTwoOfFiveCheck&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-barcode/blob/main/src/Type/Linear/StandardTwoOfFive.php#L35"&gt;src/Type/Linear/StandardTwoOfFive.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFive;&lt;/p&gt;&#10;&lt;p&gt;StandardTwoOfFive Barcode type class&#10;Standard 2 of 5&lt;/p&gt;&#10;&lt;h2 id="inherited"&gt;Inherited members&lt;/h2&gt;&#10;&lt;h3 id="inherited-convert"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/"&gt;Convert&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type-Convert/#method_getGridArray"&gt;getGridArray()&lt;/a&gt;: Get a raw barcode grid array&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="inherited-type"&gt;From &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/"&gt;Type&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method___construct"&gt;__construct()&lt;/a&gt;: Initialize a new barcode object&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getArray"&gt;getArray()&lt;/a&gt;: Get the barcode raw array&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYWH"&gt;getBarsArrayXYWH()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x, y, width, height)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getBarsArrayXYXY"&gt;getBarsArrayXYXY()&lt;/a&gt;: Get the array containing all the formatted bars coordinates (x1, y1, x2, y2)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getExtendedCode"&gt;getExtendedCode()&lt;/a&gt;: Get the extended code (code + checksum)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGd"&gt;getGd()&lt;/a&gt;: Get the barcode as GD image object (requires GD library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getGrid"&gt;getGrid()&lt;/a&gt;: Get a raw barcode string representation using characters&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getHtmlDiv"&gt;getHtmlDiv()&lt;/a&gt;: Get an HTML representation of the barcode.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getInlineSvgCode"&gt;getInlineSvgCode()&lt;/a&gt;: Get the barcode as inline SVG code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPng"&gt;getPng()&lt;/a&gt;: Get Barcode as PNG Image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngData"&gt;getPngData()&lt;/a&gt;: Get the barcode as PNG image (requires GD or Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getPngDataImagick"&gt;getPngDataImagick()&lt;/a&gt;: Get the barcode as PNG image (requires Imagick library)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvg"&gt;getSvg()&lt;/a&gt;: Get the barcode as SVG image object.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_getSvgCode"&gt;getSvgCode()&lt;/a&gt;: Get the barcode as SVG code, including the XML declaration.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setBackgroundColor"&gt;setBackgroundColor()&lt;/a&gt;: Set the background color&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setColor"&gt;setColor()&lt;/a&gt;: Set the color of the bars.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-barcode/classes-Com-Tecnick-Barcode-Type/#method_setSize"&gt;setSize()&lt;/a&gt;: Set the size of the barcode to be exported&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>FontSubsetCacheAdapter</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-FontSubsetCacheAdapter/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-FontSubsetCacheAdapter/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Cache&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class FontSubsetCacheAdapter implements FontSubsetCacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font/classes-Com-Tecnick-Pdf-Font-FontSubsetCacheInterface/"&gt;FontSubsetCacheInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/FontSubsetCacheAdapter.php#L38"&gt;src/Cache/FontSubsetCacheAdapter.php:38&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Bridges a generic tc-lib-pdf CacheInterface to the font library&amp;rsquo;s&#10;FontSubsetCacheInterface, so a single shared cache backend can also store&#10;font subset programs.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(CacheInterface $cache)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$cache&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/"&gt;CacheInterface&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/FontSubsetCacheAdapter.php#L40"&gt;src/Cache/FontSubsetCacheAdapter.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_get"&gt;get()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public get(string $key): ?string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; ?string&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/FontSubsetCacheAdapter.php#L44"&gt;src/Cache/FontSubsetCacheAdapter.php:44&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_set"&gt;set()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public set(string $key, string $subsetFont): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$subsetFont&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/FontSubsetCacheAdapter.php#L53"&gt;src/Cache/FontSubsetCacheAdapter.php:53&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ImageCacheAdapter</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-ImageCacheAdapter/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-ImageCacheAdapter/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Cache&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;final class ImageCacheAdapter implements ImageCacheInterface&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Implements:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-ImageCacheInterface/"&gt;ImageCacheInterface&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/ImageCacheAdapter.php#L40"&gt;src/Cache/ImageCacheAdapter.php:40&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Bridges a generic tc-lib-pdf CacheInterface to the image library&amp;rsquo;s&#10;ImageCacheInterface, so a single shared cache backend can also store&#10;processed image data.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method___construct"&gt;__construct()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public __construct(CacheInterface $cache)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$cache&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Cache-CacheInterface/"&gt;CacheInterface&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/ImageCacheAdapter.php#L42"&gt;src/Cache/ImageCacheAdapter.php:42&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_get"&gt;get()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public get(string $key): ImageRawData|null&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageRawData"&gt;ImageRawData&lt;/a&gt;|null&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/ImageCacheAdapter.php#L49"&gt;src/Cache/ImageCacheAdapter.php:49&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="method_set"&gt;set()&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public set(string $key, ImageRawData $data): void&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image/classes-Com-Tecnick-Pdf-Image-Import/#type_ImageRawData"&gt;ImageRawData&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Cache/ImageCacheAdapter.php#L65"&gt;src/Cache/ImageCacheAdapter.php:65&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ImportCorruptedSourceException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportCorruptedSourceException/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportCorruptedSourceException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportCorruptedSourceException extends ImportException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/"&gt;ImportException&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportCorruptedSourceException.php#L34"&gt;src/Import/ImportCorruptedSourceException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when a source PDF appears malformed or cannot be parsed.&lt;/p&gt;</description></item><item><title>ImportException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportException extends RuntimeException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; RuntimeException&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportException.php#L34"&gt;src/Import/ImportException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Base exception for PDF import errors.&lt;/p&gt;</description></item><item><title>ImportPageOutOfRangeException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportPageOutOfRangeException/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportPageOutOfRangeException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportPageOutOfRangeException extends ImportException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/"&gt;ImportException&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportPageOutOfRangeException.php#L34"&gt;src/Import/ImportPageOutOfRangeException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when the requested page number does not exist in the source document.&lt;/p&gt;</description></item><item><title>ImportSourceNotFoundException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportSourceNotFoundException/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportSourceNotFoundException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportSourceNotFoundException extends ImportException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/"&gt;ImportException&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportSourceNotFoundException.php#L34"&gt;src/Import/ImportSourceNotFoundException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when an import source cannot be found or loaded.&lt;/p&gt;</description></item><item><title>ImportUnsupportedFeatureException</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportUnsupportedFeatureException/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportUnsupportedFeatureException/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ImportUnsupportedFeatureException extends ImportException&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; &lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ImportException/"&gt;ImportException&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ImportUnsupportedFeatureException.php#L34"&gt;src/Import/ImportUnsupportedFeatureException.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Thrown when an import requires an unsupported feature (e.g. encryption mode).&lt;/p&gt;</description></item><item><title>ObjectMap</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ObjectMap/</link><pubDate>Fri, 17 Jul 2026 20:03:44 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf/classes-Com-Tecnick-Pdf-Import-ObjectMap/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Import&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class ObjectMap&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf/blob/main/src/Import/ObjectMap.php#L35"&gt;src/Import/ObjectMap.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Tracks the mapping from source object references to destination PDF object numbers&#10;and maintains a queue of objects that still need to be serialized into the output PDF.&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_allocate"&gt;allocate()&lt;/h3&gt;&#10;&lt;p&gt;Allocate a new destination object number for a source reference and mark it as in-progress.&lt;/p&gt;&#10;&lt;p&gt;If the source reference is already mapped, returns the existing number.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public allocate(string $srcRef, int &amp;amp;$pon): int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$srcRef&lt;/code&gt; (string): Source object reference.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$pon&lt;/code&gt; (int): Current PDF object number counter (modified in place).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; int: The allocated destination object number.&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Exception/</link><pubDate>Fri, 17 Jul 2026 20:03:43 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-sign/classes-Com-Tecnick-Pdf-Sign-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Sign&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-sign/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class for the PDF signature library.&lt;/p&gt;</description></item><item><title>AESSixteen</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESSixteen/</link><pubDate>Fri, 17 Jul 2026 20:03:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESSixteen/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AESSixteen&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESSixteen.php#L35"&gt;src/Type/AESSixteen.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;AESSixteen&#10;16 bytes = 128 bit&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data using OpenSSL&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $key): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESSixteen.php#L47"&gt;src/Type/AESSixteen.php:47&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AESThirtytwo</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESThirtytwo/</link><pubDate>Fri, 17 Jul 2026 20:03:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-AESThirtytwo/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class AESThirtytwo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESThirtytwo.php#L35"&gt;src/Type/AESThirtytwo.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;AESThirtytwo&#10;32 bytes = 256 bit&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data using OpenSSL&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $key): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/AESThirtytwo.php#L47"&gt;src/Type/AESThirtytwo.php:47&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exception</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/</link><pubDate>Fri, 17 Jul 2026 20:03:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class Exception extends Exception&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Extends:&lt;/strong&gt; Exception&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Exception.php#L34"&gt;src/Exception.php:34&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Custom Exception class&lt;/p&gt;</description></item><item><title>RCFourFive</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourFive/</link><pubDate>Fri, 17 Jul 2026 20:03:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourFive/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RCFourFive&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFourFive.php#L35"&gt;src/Type/RCFourFive.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RC4-40 is the standard encryption algorithm used in PDF format&#10;The key length is 5 bytes (40 bits)&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $key): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFourFive.php#L47"&gt;src/Type/RCFourFive.php:47&lt;/a&gt;&lt;/p&gt;</description></item><item><title>RCFourSixteen</title><link>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourSixteen/</link><pubDate>Fri, 17 Jul 2026 20:03:18 +0100</pubDate><guid>https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Type-RCFourSixteen/</guid><description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt; &lt;code&gt;Com\Tecnick\Pdf\Encrypt\Type&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;class RCFourSixteen&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFourSixteen.php#L35"&gt;src/Type/RCFourSixteen.php:35&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;RC4-128 is the standard encryption algorithm used in PDF format&#10;The key length is 16 bytes (128 bits)&lt;/p&gt;&#10;&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;&#10;&lt;h3 id="method_encrypt"&gt;encrypt()&lt;/h3&gt;&#10;&lt;p&gt;Encrypt the data&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;public encrypt(string $data, string $key): string&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;$data&lt;/code&gt; (string): Data string to encrypt&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;$key&lt;/code&gt; (string): Encryption key&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt; string: encrypted text&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Throws:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt/classes-Com-Tecnick-Pdf-Encrypt-Exception/"&gt;Exception&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/tecnickcom/tc-lib-pdf-encrypt/blob/main/src/Type/RCFourSixteen.php#L47"&gt;src/Type/RCFourSixteen.php:47&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>